printf(「prompt:」)不會立即打印?我試過fflush(標準輸出)並放置\ 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;
}
我相信'fgets'將等待最多的前1024個字節的是整條生產線和商店。 –
@BasileStarynkevitch'fgets'中的第二個參數指定「要讀取的最大字符數」。如果收到1024字節,它將停止讀取。 – Swanand
如果遇到換行符,它也會停止閱讀。直到通過點擊返回鍵將數據發送到程序時,它也不會返回任何內容,無論輸入的字符是否多於或少於1024個字符。在某些系統中,終端驅動程序在一行中不會接受多達1024個字符;該限制較小,如256字節左右。 –