Тут размещают свои топики новички в С/С++.

Тема в разделе "LANGS.C", создана пользователем nitrotoluol, 4 мар 2007.

  1. Sholar

    Sholar New Member

    Публикаций:
    0
    Регистрация:
    16 окт 2011
    Сообщения:
    189
    Линковать статически.
     
  2. tid

    tid Member

    Публикаций:
    0
    Регистрация:
    2 дек 2010
    Сообщения:
    57
    std::ifstream file("hello.txt");
    char ch;
    std::string str;

    while (file.get(ch)) {
    str += ch;
    }

    как прочитать файл быстрее в строку

    есть более красивое решение чем, что то типа:

    while (file.good()) {
    file >> strbuff;
    str = str + '\n' + strbuff;
    }

    вообщем мне нужен самый быстрый способ. все что я писал мне не нравится, как то не красиво, может быть есть более элегантный способ.
     
  3. Sholar

    Sholar New Member

    Публикаций:
    0
    Регистрация:
    16 окт 2011
    Сообщения:
    189
  4. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    tid
    Код (Text):
    1. ifstream file("hello.txt");
    2. stringstream ss;
    3. ss << file.rdbuf();
    4. string s = ss.str();
    самый быстрый - WinAPI, ReadFile()
     
  5. tid

    tid Member

    Публикаций:
    0
    Регистрация:
    2 дек 2010
    Сообщения:
    57
    Спасибо!
     
  6. dmicarus

    dmicarus New Member

    Публикаций:
    0
    Регистрация:
    25 май 2009
    Сообщения:
    17
    Код (Text):
    1. class A
    2. {
    3. public:
    4.     int foo() {return 0;}
    5. };
    6.  
    7. int main()
    8. {
    9.     A a;
    10.  
    11.     boost::function<int()>  boost_functor1(boost::bind(&A::foo, a));    // Ok
    12.     std::function<int()> std_functor1(std::bind(&A::foo, a));       // Ok
    13.  
    14.     boost::function<void()> boost_functor2(boost::bind(&A::foo, a));    // !Ok
    15.     std::function<void()> std_functor2(std::bind(&A::foo, a));  // Fail
    16. }
    Объясните пожалуста, в чем принципиальная разница между бустовской реализацией и стандартной либой?
    В последнем случае не работает.
    Мне нужен именно function<void(void)> вне зависимости от возвращаемого типа.

    UPD:
    пришлось завернуть в лямбду
    Код (Text):
    1. std::function<void()> std_functor2([=]()mutable{ a.foo(); });
    вроде работает
     
  7. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Странно что в бусте это работает. Тут тоже должен быть фаил.
     
  8. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.348
    Спросить у того, кто изменил название функции main() :)
     
  9. darkdevel

    darkdevel New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2017
    Сообщения:
    17
    даже если название функции main() не изменено, это не значит, что она будет запускаться первой :) (пример: mainCRTStartup при использовании CRT). Если вопрос чисто в образовательных целях, можно собрать с отладочными символами, поставить breakpoint в начале main() и посмотреть на стек. Если стоит задача контролировать точку входа, то для MSVC решением является параметр /ENTRY (см. https://msdn.microsoft.com/en-us/library/aa235421(v=vs.60).aspx , там же есть инфа по стандартным "первым функциям")
     
  10. darkdevel

    darkdevel New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2017
    Сообщения:
    17
    1 и 4 какая-то ерунда (если без контекста смотреть и предположить очевидное - SHA3_CTX ctx это объявление переменной типа SHA3_CTX*).
    а 2 и 3 идентичны, вопрос стиля оформления. можно и с двух сторон по пробелу поставить SHA3_CTX * ctx (главное не писать конструкций типа SHA3_CTX * ctx1, ctx2).
     
    sato нравится это.
  11. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    *SHA3_CTX ctx
    Есть такое
    (*ctx )(SHA3_CTX)
     
  12. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    591
    А какая максимальная версия M$ VS C/C++ может работать на платформе DOS16?
     
  13. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    Вам обязательно MS? В свое время адово рулил Borland TurboC версии 3. Версия 4 уже была Вин16, емнип.

    upd.: увидел ваш топик https://wasm.in/threads/transljator-c-c-s-isxodnikami.32834/

    не совсем по вашему вопросу, но все же - подборка всех возможных компиляторов и иже с ними, дос16, ftp://ftp.oldskool.org/pub/ANORMAL%20executable%20tools/
     
    Последнее редактирование: 2 авг 2018
  14. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    Разбирать вручную си-шные конструкции можно попробовать, используя https://beginners.re/RE4B-RU.pdf
     
  15. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Есть альтернативы типа Borland Turbo C, OpenWatcom, но там плюсы несвежие.
     
  16. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    591
    Так и не сказали какая студия работает с Win16 и Dos16! Шестая? Врятли. 97?
     
  17. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    MSVC 6 генерит 32-разрядные РЕ-шки. Имхо, не может ннкакая студия в 16-бит.
     
  18. hamper

    hamper Member

    Публикаций:
    0
    Регистрация:
    21 ноя 2005
    Сообщения:
    37
    Адрес:
    Russia
    1.52 кажется может
    [​IMG]
     
  19. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    Таки да, http://bytepointer.com/msvc/index.htm

    качать вроде здесь, http://vetusware.com/

    но вам (вроде / кажется / но это не точно) придется искать вин9х или Ме, чтобы сабж заработал корректно

    в принципе у меня есть вмварный вин98, могу поделиться :)
     
    Последнее редактирование: 3 авг 2018
  20. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    591
    Понятно, мелкософт очень быстро прекратил поддержку платформы DOS16, странно, ну очень быстро! Ещё Вынь95 не успел выйти, хотя может так и надо... Ладно понятно.