再談C 逐行讀取文字檔案

2021-08-20 14:15:41 字數 487 閱讀 3483

std::string strline;  

while(getline(file,strline))

這裡忽略了乙個重要的因素——文字的編碼方式。

開啟windows自帶的記事本程式,留意觀察「儲存」對話方塊,其右下角提供了文字編碼選擇下拉列表,除了大家熟知的ansi和unicode編碼,還有可以說最為常用的utf-8編碼。

很顯然,如果讀取的文字檔案並非ansi編碼,那麼上述**恐怕就無法如你所願了。

因此,應當首先對文字編碼進行判斷,然後採取不同的處理辦法,這才是穩妥的解決思路。

接下來,我們可以使用ifstream的getline來逐行讀取了,原因很簡單,可以指定行結束標識,對於unicode編碼來說,是0x000a

回到開始的**,為了保持**結構不變,可以用自定義的getline(比如叫getline)來替換string::getline。

php 逐行讀取文字檔案

在讀取文字時,我們要注意乙個事情,那就是換行符,應為我們在寫文件時會手動換行,這個換行符需不需要儲存就要看自己的需求了。這裡封裝了兩個方法,乙個保留換行,乙個不保留。path為檔案路徑 檔名 1.不保留換行 1 function read path 11 fclose file 12 user ar...

C 逐行讀取文字檔案的正確做法

cpp view plain copy ifstream file file.open c hudson.log char szbuff 1024 while file.eof 開始這段 執行是沒有問題的,但後來執行居然出現了死迴圈,上網查了下資料,發現原因是 當緩衝區不夠大的時候,getline函...

C 逐行讀取文字檔案的正確做法

分享一下我老師大神的人工智慧教程。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!ifstream file file.open c hudson.log char szbuff 1024 while file.eof 開始這段 執行是沒有問題的,但後來執行居然出現了死...