首頁 > 後端開發 > C++ > 如何使用 C 可靠地從具有混合換行編碼的文字檔案中讀取行?

如何使用 C 可靠地從具有混合換行編碼的文字檔案中讀取行?

Susan Sarandon
發布: 2024-12-04 20:47:12
原創
829 人瀏覽過

How Can I Reliably Read Lines from Text Files with Mixed Newline Encodings Using C  ?

使用 std::ifstream 處理換行符

處理文字檔案時,不一致的編碼換行符可能會帶來挑戰。本文解決了使用 std::ifstream 類別優雅地處理 LF、CR 和 CRLF 行結尾的問題。

std::istream& getline ( istream& is, string& str );
登入後複製

getline 函數讀取一行直到換行符。但是,它可能會在行尾留下殘留的 CR 或 CRLF 字元。為了解決這個問題,本文建議使用名為 safeGetline 的自訂函數:

std::istream& safeGetline(std::istream& is, std::string& t)
{
    // ...
}
登入後複製

safeGetline 函數迭代輸入流,檢查每個字元並偵測適當的換行符編碼。它處理所有三個常見的換行符:LF、CR 和 CRLF。

為了測試 safeGetline 函數,本文提供了一個範例程序,該程式開啟一個文字文件,使用 safeGetline 讀取其行,併計算總數的線路。這證明了該函數處理現實文字檔案中遇到的各種換行符編碼的能力。

透過利用 safeGetline 函數,程式設計師可以編寫適應所有常見換行符編碼格式的程式碼,無論平台或來源如何文字檔案。

以上是如何使用 C 可靠地從具有混合換行編碼的文字檔案中讀取行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板