tfopen 開啟檔案

2021-09-06 13:17:41 字數 520 閱讀 8289

vs05和08的crt增加了一點功能, 使用fopen(_wfopen)時可以指定檔案的編碼, 但我發現這個功能好像有很多bug, 會導致程式崩潰。

我是使用下面的形式開啟檔案的:

tchar buf[1024];

file* fp = _tfopen( _t(「a.txt」) , _t(」rt,ccs=unicode」) );

_fgetts( buf, _countof(buf), fp );

按msdn的說法,這時fopen會根據檔案的bom自動判斷檔案的編碼, 並保證buf中字元的編碼總是我希望的那一種。

可是這個程式在使用mbcs並開啟unicode編碼的檔案時會崩潰, 考慮到我的程式只發布unicode版本, 所以忍了,啥也不說。

但這兩天發現, unicode版本在fgets時也會崩潰, 方法是新建乙個excel檔案然後重新命名為a.txt。

我仔細讀了兩天msdn,並測試了各種形式,感覺不像是我的錯誤。

在網上沒找到類似的描述, 所以記下來,也許有人會碰到同樣的問題。

tfopen 開啟檔案

vs05和08的crt增加了一點功能,使用fopen wfopen 時可以指定檔案的編碼,但我發現這個功能好像有很多bug,會導致程式崩潰。我是使用下面的形式開啟檔案的 tchar buf 1024 file fp tfopen t a.txt t rt,ccs unicode fgetts buf...

tfopen 開啟檔案

vs05和08的crt增加了一點功能,使用fopen wfopen 時可以指定檔案的編碼,但我發現這個功能好像有很多bug,會導致程式崩潰。我是使用下面的形式開啟檔案的 tchar buf 1024 file fp tfopen t a.txt t rt,ccs unicode fgetts buf...

python開啟檔案 Python檔案開啟模式

python 內建函式 python 內建函式 python open 函式用於開啟乙個檔案,建立乙個 file 物件,相關的方法才可以呼叫它進行讀寫。寫入檔案時,不會自動加入換行,需要手動在末尾加入,在每個元素後面都換行n,可以用 fo.writelines line n for line in ...