我想打印“CLIENT>”在c中的stdout,没有换行。
的printf( “CLIENT>” 中);
不打印enything。
我该如何解决这个问题?
int main (){
printf("CLIENT>");
}
答案 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
- 即使在较旧的系统上也是如此。