[英]Reading a C file line by line where each line has an unknown length
我正在用C編寫一個程序,該程序打開一個文件,並逐行讀取文件,並在讀取該行后對每個字符串執行各種操作。
現在我的問題是我建立了一個循環,因此我讀入一行並對該行做必要的操作,然后移至下一行直到文件末尾。 我遇到的問題是,我知道最大行長為80個字符,但是可以小於此長度,因此為了正確執行必要的操作,我在行尾停止時遇到很多麻煩。
我會附加代碼,但在這一部分我感到很困惑,而且還太早,以至於我只是在閱讀階段才真正不知道我的代碼是否會有所幫助。 當長度未知時,我無法弄清楚如何讀取一行。 任何幫助將不勝感激!
定義一個大小至少為82(80個字符+換行符+空字節)的char
緩沖區。
在循環中,重復調用fgets(buffer, sizeof buffer, file)
以讀取一行並執行任務,直到到達文件末尾:
char buffer[82];
while (fgets(buffer, sizeof buffer, file)) {
/* handle the line in buffer */
...
}
注意: buffer
的最后一個字符為'\\n'
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.