Cygwin64ビット
コンパイルするコマンド:
gcc hello.c -o hello -ansi -pedantic-errors
実行するコマンド
./hello
こんにちはC
#include<stdio.h>
int main() {
/*setbuf(stdout, 0); I KNOW THIS WILL WORK IF ADDED, it is a solution, but I want to know why line break itself is not working*/
printf("hello world!\n");
printf("hello world again!\r\n");
/*fflush(stdout); without fflush, the above strings are not showing*/
while(1)
{
}
}
質問:
端末に時間内に文字列を表示させるために、すべての printf の後に fflush したくないのですが、どうすればよいですか?
答え: setbuf(stdout, 0);
多くの投稿で改行が問題を解決すると指摘されているにもかかわらず、私の場合、「\n」または「\r\n」が機能しないのはなぜですか?
cygwin の端末が通常の Linux の端末と動作が異なるというのは本当ですか? Linux をインストールしていないので、誰かテストしてくれませんか?
または、より一般的な質問をさせてください。どの種類の端末で、「新しい行がフラッシュを強制する」という文が真ですか?
ありがとう