#include <stdio.h>
main()
{
int c;
while ((c = getchar()) != EOF)
putchar(c);
}
在上面的代碼中,哪個字符會打斷循環?
我是C新手,請幫幫我。
此外,它是什麼意思這個錯誤:
codec5.c:8:2: warning: no newline at end of file
C中的「文件結尾」是什麼意思?
#include <stdio.h>
main()
{
int c;
while ((c = getchar()) != EOF)
putchar(c);
}
在上面的代碼中,哪個字符會打斷循環?
我是C新手,請幫幫我。
此外,它是什麼意思這個錯誤:
codec5.c:8:2: warning: no newline at end of file
C中的「文件結尾」是什麼意思?
錯誤是通過把一個換行符在文件的結尾解決(把光標}
背後按回車鍵)。
我認爲循環是用Ctrl + Z打破的,但我不確定。
當到達文件末尾時,循環被破壞,而不是特殊字符。一些遺留實現通過使用特殊字符標記結束來實現文件結束(對於文本文件),而不是將文件的確切長度存儲在文件系統簿記信息中,但那些日子早已過去。 – 2010-12-18 23:38:31
謝謝。幫助 – 2010-12-18 23:47:38
終於明白了......我的意思是(處理EOF的方式)在程序中。 – 2010-12-19 19:23:39
這是stdio.h
定義的特殊常量,這意味着文件結束。
codec5.c:8:2: warning: no newline at end of file
聽起來像是你沒有\n
你的文件:年底做
該警告只意味着您需要在源代碼的末尾添加一行新行。將光標放在main()
末尾的文件末尾}
處,然後按回車。
如果不從文件加載,您需要檢查特定字符以結束程序。如果你在你的程序中輸入(|
)(Windows中的<
)文件,那麼程序應該結束。如果程序名爲test.exe
,輸入文件爲foo.txt
,請嘗試運行test.exe < foo.txt
(確保它們位於同一目錄中)。
我可以管程序中的文件...使用Windows ??? ..我不是在linux上工作.. – 2010-12-18 23:42:35
請參閱編輯上面(<是Windows中的管道)。 – zsalzbank 2010-12-18 23:44:53
我可以有一小段代碼與此有關嗎? – 2010-12-18 23:48:18
請不要全部寫在帽子上..它意味着選擇! – Shoban 2010-12-18 23:35:18
只是我嗎?!你的大寫鎖定卡住了嗎? – 2010-12-18 23:35:55
編輯您的帖子,以防止我的眼睛流血 – SiegeX 2010-12-18 23:36:25