Решено: Вывод с помощью printf() (Без завершающего \n строки не выводятся)

Модератор: Модераторы разделов

Ответить
grub
Сообщения: 128
ОС: Slackware 12.0

Решено: Вывод с помощью printf()

Сообщение grub »

Вобщем хочу я вывести строку "abcd" и делаю это с помощью printf. Но после выполнения команды строка на экране не появляется, однако стоит выполнить еще printf("\n") как на экран выводится и "abcd" и "\n". Почему так происходит и что делать чтобы этого избежать? cout не помогает.

Вобще мне надо сделать небольшую интерактивную програмку в командной строке, а конкретно это нужно для вывода приглашения типа:
"Напиши команду>_", чтобы затем scanf() считать команду пользователя. Никто не знает может быть есть спец. библиотеки какраз для это цели?
Спасибо сказали:
Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: Решено: Вывод с помощью printf()

Сообщение Voice »

grub писал(а):
21.06.2007 16:24
Вобщем хочу я вывести строку "abcd" и делаю это с помощью printf. Но после выполнения команды строка на экране не появляется, однако стоит выполнить еще printf("\n") как на экран выводится и "abcd" и "\n". Почему так происходит и что делать чтобы этого избежать? cout не помогает.

Потому что стандартный вывод буферизируется.
Используйте fflush(stdout); для полного вывода буфера на экран.
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:
grub
Сообщения: 128
ОС: Slackware 12.0

Re: Решено: Вывод с помощью printf()

Сообщение grub »

Voice писал(а):
21.06.2007 16:33
Потому что стандартный вывод буферезируется.


Зачепись! Это я и так подозревал. А как его пнуть чтоб он свои буферы вывел? Без перевода строки?

Voice писал(а):
21.06.2007 16:33
Используйте fflush(stdout); для полного вывода буфера на экран.


Спасиба!!! :rolleyes:
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

Re: Решено: Вывод с помощью printf()

Сообщение v04bvs »

Для этих целей используется библиотека readline
Спасибо сказали:
Аватара пользователя
Red User
Сообщения: 229
ОС: Debian

Re: Решено: Вывод с помощью printf()

Сообщение Red User »

setvbuf(stdout, NULL, _IONBF, 0);
А ведь когда-то не боялись мы программы любой,
И с одним лишь debug'ом выходили на бой,
И искусно написанный вирус встречали как брата
Спасибо сказали:
Аватара пользователя
Blade Runner
Сообщения: 27
ОС: OpenSuSE 11.0, Slackware 12.0
Контактная информация:

Re: Решено: Вывод с помощью printf()

Сообщение Blade Runner »

Каким образом осуществляется форматирование в функциях printf(..), printw(..), scanw(..)... ? Всмысле какой синтаксис? :mellow: Например я хочу считать с клавиатуры значение типа double и вывести его на экран с помощью функции printw(..), как это сделать?
Динамические структуры данных - ЭТО СИЛА
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: Решено: Вывод с помощью printf()

Сообщение serzh-z »

Blade Runner, man 3 printf
Спасибо сказали:
Аватара пользователя
Blade Runner
Сообщения: 27
ОС: OpenSuSE 11.0, Slackware 12.0
Контактная информация:

Re: Решено: Вывод с помощью printf()

Сообщение Blade Runner »

Разобрался :cool:
Динамические структуры данных - ЭТО СИЛА
Спасибо сказали:
Ответить