c печать без новой строки? - PullRequest
       21

c печать без новой строки?

4 голосов
/ 15 сентября 2011

Я хочу напечатать "CLIENT>" на стандартный вывод в c, без новой строки.
printf ("CLIENT>");
не печатает ничего.как мне решить это?

int main (){
printf("CLIENT>");
}

Ответы [ 3 ]

9 голосов
/ 15 сентября 2011

Попробуйте fflush(stdout); после вашего printf.

Вы также можете расследовать setvbuf, если вы часто звоните fflush и хотите избежать необходимости звонить вообще,Имейте в виду, что если вы пишете много выходных данных в стандартный вывод, то, вероятно, будет снижение производительности при использовании setvbuf.

4 голосов
/ 15 сентября 2011

Звоните fflush после printf():

int main (){
    printf("CLIENT>");
    fflush( stdout );
}
2 голосов
/ 15 сентября 2011

В некоторых компиляторах / библиотеках времени выполнения (обычно старых) вам нужно вызвать fflush , чтобы физически записать данные:

#include <stdio.h>
int main( void )
{
  printf("CLIENT>");
  fflush(stdout);
  return 0;
}

Если в конце данных есть новая строка, обычно fflush не требуется - даже в старых системах.

...