c stdout打印没有换行?

时间:2011-09-15 13:11:23

标签: c printf stdout

我想打印“CLIENT>”在c中的stdout,没有换行。
的printf( “CLIENT>” 中);
不打印enything。 我该如何解决这个问题?

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

3 个答案:

答案 0 :(得分:9)

printf后尝试fflush(stdout);

如果您发现自己经常致电setvbuf并且想要避免完全打电话,您也可以调查fflush。请注意,如果要将大量输出写入标准输出,则使用setvbuf可能会对性能造成影响。

答案 1 :(得分:4)

fflush之后致电printf()

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

答案 2 :(得分:2)

在某些编译器/运行时库(通常是较旧的编译器)上,您必须调用fflush来实际写入数据:

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

如果数据最后有换行符,则通常不需要fflush - 即使在较旧的系统上也是如此。