簡體   English   中英

逐行讀取C文件,其中每行的長度未知

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM