どうしてprintf( "prompt:")はすぐには印刷されませんか?私はfflush(stdout)を試して、\ nを置いたが、どちらもうまくいきませんでした。それだけ版画 "あなたを参照してください。" プリント:Cプログラムの動作が混乱するprintf
int main() {
char line[1025];
char command[80], argument[80];
char argv[3][80];
int i, pid;
*(argv[2]) = '\0';
while((fgets(line, 1024, stdin))) {
printf("prompt:");
line[1024] = '\0';
sscanf(line, " %s %s ", command, argument);
if(strcmp(command, "exit") == 0 || strcmp(command, "hastalavista") ==
0) {
printf("See you\n");
exit(0);
}
}
return 0;
}
に保存されます。 –
@BasileStarynkevitch 'fgets'の第2パラメータは、"読み込む最大文字数 "を指定します。 1024バイトが受信されると、読み取りを停止します。 – Swanand
改行があった場合にも読み込みを停止します。返されたキーが1024文字よりも少ないか少ないかに関係なく、データがプログラムに送られるまで戻りません。一部のシステムでは、ターミナル・ドライバは1行に1024文字まで受け付けません。 256バイト程度の制限があります。 –