расчитан ли printf() на длительную тяжёлую работу ?
В чём дело ?
Это можно как-то устранить ?
Очень прошу помочь, а то начальник голову оторвёт :(
При большой длительности и большом объёме выводимых данных (ну скажем 1 000 000 символов) printf() начинает вести себя по странному. Он вроде как начинает буферизировать вывод (насколько мне известно он этого делать не умеет), реже (чем происходит его вызов) производит вывод текста и что самое ужасное - прога из-за этого начинает тормозить, терпят крах операции new при том, что памяти хватает с головой !!!
В чём дело ?
Это можно как-то устранить ?
Очень прошу помочь, а то начальник голову оторвёт :(
Интересно, а на кой фиг тебе столько символов обрабатывать!!! Неужели, без этого никак не обойтись?
Если уж никак, то внимательно проследи, правильно ли ты выделяешь память под строки, массивы и т.д. Причем посмотри во всех частях программы! У меня была как-то проблема: прога вылетала с Access Violation, при правильном коде. Выяснилось, что в какой-то далёкой функции непрвильно выделил память...
Если что флушни поток std::cout.flush().
Или же разбивай вывод в с.
Используй с++ std::cout.
Если что флушни поток std::cout.flush().
Или же разбивай вывод в с.
Спасибо за совет, но прочтите предыдущий пост.
С printf() всё в порядке, к нему претензий больше нет.
Спасибо за совет, но прочтите предыдущий пост.
С printf() всё в порядке, к нему претензий больше нет.
вы используете С++. вам сказали, что для С++ стандартный метод вывода на экран - std::cout. что вы еще хотите??? printf небезопасная функция. поэтому либо используйте средства С++, либо не удивляйтесь, что у вас коряво работает программа. кстати, если вам нужно использовать строки переменной длинны в С++, опять же забудте про char[]. есть std::string.
вы используете С++. вам сказали, что для С++ стандартный метод вывода на экран - std::cout. что вы еще хотите??? printf небезопасная функция. поэтому либо используйте средства С++, либо не удивляйтесь, что у вас коряво работает программа. кстати, если вам нужно использовать строки переменной длинны в С++, опять же забудте про char[]. есть std::string.
У меня такое впечатление, что того поста, где написано, что всё ОК, Вы не заметили. Я же говорю, printf() НЕ ГЛЮЧИТ. НИ РАЗУ ОН НЕ ГЛЮЧИЛ. ПОЧЕМУ ВЫ ПРО НЕГО ПЛОХО ГОВОРИТЕ??? ОН У ВАС ХОТЬ РАЗ ГЛЮЧИЛ ???
У меня такое впечатление, что того поста, где написано, что всё ОК, Вы не заметили. Я же говорю, printf() НЕ ГЛЮЧИТ. НИ РАЗУ ОН НЕ ГЛЮЧИЛ. ПОЧЕМУ ВЫ ПРО НЕГО ПЛОХО ГОВОРИТЕ??? ОН У ВАС ХОТЬ РАЗ ГЛЮЧИЛ ???
Я хорошо знаюю ООП и STL.
В данном случае я не юзаю std::cout потому, что он работает дольше, чем printf(), а в данной проге мне важна скорость :)