c stdout打印没有换行?
我想在c中的stdout上打印“CLIENT>”,没有换行。
的printf( “CLIENT>”);
不打印enything。 我该如何解决这个问题?
int main (){ printf("CLIENT>"); }
试试fflush(stdout);
在你的printf
。
如果您发现自己经常调用fflush
并且想要避免完全调用它,您也可以调查setvbuf
。 请注意,如果要将大量输出写入标准输出,则使用setvbuf
可能会降低性能。
在printf()
之后调用fflush
:
int main (){ printf("CLIENT>"); fflush( stdout ); }
在某些编译器/运行时库(通常是较旧的库)上,您必须调用fflush来实际写入数据:
#include int main( void ) { printf("CLIENT>"); fflush(stdout); return 0; }
如果数据最后有换行符,通常不需要fflush
– 即使在较旧的系统上也是如此。