Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > вывод на экран без возрата строки


Автор: admsasha 24.2.2007, 07:39
вывожу текст в консоль, через printf, но он выводится только если завершаю \n (если не завершенна сама программа), как не завершая строку дописывать слова ?

т.е. надо

printf("a ");
printf("b ")
должно получиться
a b 


Автор: MAKCim 24.2.2007, 10:32
в конце строки, которая соответствует последнему printf(), ставь \n 
еще одна такая тема в этом разделе - поставлю минус  smile 

Автор: admsasha 24.2.2007, 10:35
Цитата(MAKCim @  24.2.2007,  17:32 Найти цитируемый пост)
в конце строки, которая соответствует последнему printf(), ставь \n 

Так в том то и проблема, что вывода не будет до "\n".. а нужно... чтобы был

Автор: GrayCardinal 24.2.2007, 10:37
admsasha
Дай и мне затянуться ©

Автор: MAKCim 24.2.2007, 10:37
Код

#include <stdio.h>

int main() {
    printf("a ");
    printf("b\n");
    return 0;
}

что выводит?

Добавлено @ 10:38 
Цитата(GrayCardinal @  24.2.2007,  10:37 Найти цитируемый пост)
Дай и мне затянуться © 

ох уж точно, хотя день только начинается, лучше вечерком  smile 

Автор: GrayCardinal 24.2.2007, 10:39
admsasha
ЗЫ
Попробуй fflush (stdout)
после каждого printf

Автор: MAKCim 24.2.2007, 10:46
Цитата(GrayCardinal @  24.2.2007,  10:39 Найти цитируемый пост)
Попробуй fflush (stdout)
после каждого printf 

нафиг?
если даже строки буферизируется, то в том порядке, в котором они поступают через printf()

Добавлено @ 10:52 
Добавлено @ 10:51 
Цитата(admsasha @  24.2.2007,  10:46 Найти цитируемый пост)
то вывод будет только после printf("b\n");

ну если в этом смысле, тогда да
сразу надо было писать код, чтобы угадыванием не заниматься

Автор: admsasha 24.2.2007, 10:46
Цитата(MAKCim @  24.2.2007,  17:37 Найти цитируемый пост)
что выводит?

выводит то выводит, но если я так сделаю 
Код

int main() {
    printf("a ");
    sleep(1) /// любая долгая операция
    printf("b\n");
    return 0;
}


то вывод будет только после printf("b\n");


Цитата(GrayCardinal @  24.2.2007,  17:39 Найти цитируемый пост)
Попробуй fflush (stdout)

Да, это помогло, как выход подойдет...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)