Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

расчитан ли printf() на длительную тяжёлую работу ?

1.0K
12 февраля 2006 года
diesel_den
169 / / 22.12.2005
При большой длительности и большом объёме выводимых данных (ну скажем 1 000 000 символов) printf() начинает вести себя по странному. Он вроде как начинает буферизировать вывод (насколько мне известно он этого делать не умеет), реже (чем происходит его вызов) производит вывод текста и что самое ужасное - прога из-за этого начинает тормозить, терпят крах операции new при том, что памяти хватает с головой !!!
В чём дело ?
Это можно как-то устранить ?
Очень прошу помочь, а то начальник голову оторвёт :(
11K
13 февраля 2006 года
DWORD
22 / / 28.12.2005
Цитата:
Originally posted by diesel_den
При большой длительности и большом объёме выводимых данных (ну скажем 1 000 000 символов) printf() начинает вести себя по странному. Он вроде как начинает буферизировать вывод (насколько мне известно он этого делать не умеет), реже (чем происходит его вызов) производит вывод текста и что самое ужасное - прога из-за этого начинает тормозить, терпят крах операции new при том, что памяти хватает с головой !!!
В чём дело ?
Это можно как-то устранить ?
Очень прошу помочь, а то начальник голову оторвёт :(



Интересно, а на кой фиг тебе столько символов обрабатывать!!! Неужели, без этого никак не обойтись?

Если уж никак, то внимательно проследи, правильно ли ты выделяешь память под строки, массивы и т.д. Причем посмотри во всех частях программы! У меня была как-то проблема: прога вылетала с Access Violation, при правильном коде. Выяснилось, что в какой-то далёкой функции непрвильно выделил память...

1.0K
13 февраля 2006 года
diesel_den
169 / / 22.12.2005
printtf() работает отлично, ни разу не глючил. Это в моей проге new выбрасывает exception, опять таки пока не знаю почему
14K
13 февраля 2006 года
pingwinlin
7 / / 05.02.2006
Используй с++ std::cout.
Если что флушни поток std::cout.flush().
Или же разбивай вывод в с.
1.0K
13 февраля 2006 года
diesel_den
169 / / 22.12.2005
Цитата:
Originally posted by pingwinlin
Используй с++ std::cout.
Если что флушни поток std::cout.flush().
Или же разбивай вывод в с.


Спасибо за совет, но прочтите предыдущий пост.
С printf() всё в порядке, к нему претензий больше нет.

2
14 февраля 2006 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by diesel_den
Спасибо за совет, но прочтите предыдущий пост.
С printf() всё в порядке, к нему претензий больше нет.


вы используете С++. вам сказали, что для С++ стандартный метод вывода на экран - std::cout. что вы еще хотите??? printf небезопасная функция. поэтому либо используйте средства С++, либо не удивляйтесь, что у вас коряво работает программа. кстати, если вам нужно использовать строки переменной длинны в С++, опять же забудте про char[]. есть std::string.

1.0K
14 февраля 2006 года
diesel_den
169 / / 22.12.2005
Цитата:
Originally posted by squirL
вы используете С++. вам сказали, что для С++ стандартный метод вывода на экран - std::cout. что вы еще хотите??? printf небезопасная функция. поэтому либо используйте средства С++, либо не удивляйтесь, что у вас коряво работает программа. кстати, если вам нужно использовать строки переменной длинны в С++, опять же забудте про char[]. есть std::string.


У меня такое впечатление, что того поста, где написано, что всё ОК, Вы не заметили. Я же говорю, printf() НЕ ГЛЮЧИТ. НИ РАЗУ ОН НЕ ГЛЮЧИЛ. ПОЧЕМУ ВЫ ПРО НЕГО ПЛОХО ГОВОРИТЕ??? ОН У ВАС ХОТЬ РАЗ ГЛЮЧИЛ ???

1.0K
14 февраля 2006 года
diesel_den
169 / / 22.12.2005
Цитата:
Originally posted by diesel_den
У меня такое впечатление, что того поста, где написано, что всё ОК, Вы не заметили. Я же говорю, printf() НЕ ГЛЮЧИТ. НИ РАЗУ ОН НЕ ГЛЮЧИЛ. ПОЧЕМУ ВЫ ПРО НЕГО ПЛОХО ГОВОРИТЕ??? ОН У ВАС ХОТЬ РАЗ ГЛЮЧИЛ ???


Я хорошо знаюю ООП и STL.
В данном случае я не юзаю std::cout потому, что он работает дольше, чем printf(), а в данной проге мне важна скорость :)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог