Вобщем хочу я вывести строку "abcd" и делаю это с помощью printf. Но после выполнения команды строка на экране не появляется, однако стоит выполнить еще printf("\n") как на экран выводится и "abcd" и "\n". Почему так происходит и что делать чтобы этого избежать? cout не помогает.
Вобще мне надо сделать небольшую интерактивную програмку в командной строке, а конкретно это нужно для вывода приглашения типа:
"Напиши команду>_", чтобы затем scanf() считать команду пользователя. Никто не знает может быть есть спец. библиотеки какраз для это цели?
Решено: Вывод с помощью printf() (Без завершающего \n строки не выводятся)
Модератор: Модераторы разделов
-
Voice
- Сообщения: 1073
- Статус: столлманист
- ОС: Debian GNU/Linux
Re: Решено: Вывод с помощью printf()
grub писал(а): ↑21.06.2007 16:24Вобщем хочу я вывести строку "abcd" и делаю это с помощью printf. Но после выполнения команды строка на экране не появляется, однако стоит выполнить еще printf("\n") как на экран выводится и "abcd" и "\n". Почему так происходит и что делать чтобы этого избежать? cout не помогает.
Потому что стандартный вывод буферизируется.
Используйте fflush(stdout); для полного вывода буфера на экран.
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
М. В. Ломоносов
-
grub
- Сообщения: 128
- ОС: Slackware 12.0
-
v04bvs
- Сообщения: 636
- ОС: Debian GNU/Linux
Re: Решено: Вывод с помощью printf()
Для этих целей используется библиотека readline
-
Red User
- Сообщения: 229
- ОС: Debian
Re: Решено: Вывод с помощью printf()
setvbuf(stdout, NULL, _IONBF, 0);
А ведь когда-то не боялись мы программы любой,
И с одним лишь debug'ом выходили на бой,
И искусно написанный вирус встречали как брата
И с одним лишь debug'ом выходили на бой,
И искусно написанный вирус встречали как брата
-
Blade Runner
- Сообщения: 27
- ОС: OpenSuSE 11.0, Slackware 12.0
Re: Решено: Вывод с помощью printf()
Каким образом осуществляется форматирование в функциях printf(..), printw(..), scanw(..)... ? Всмысле какой синтаксис?
Например я хочу считать с клавиатуры значение типа double и вывести его на экран с помощью функции printw(..), как это сделать?
Динамические структуры данных - ЭТО СИЛА
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: Решено: Вывод с помощью printf()
Blade Runner, man 3 printf
-
Blade Runner
- Сообщения: 27
- ОС: OpenSuSE 11.0, Slackware 12.0