MFC中CString用fprintf 函式寫中文到文件中出現亂碼的解決方法,或是無法如預期寫入,都可以用。

在MFC中把資訊寫到txt中,一開始是用 fwrite的方式,可是怎麼寫每次都只有第一個字元寫進去。

後來又改用 fprintf ,但是也沒有解決問題,一樣的狀況。

 

最後在網路上找到一個方法 _ftprintf(),就可以順利寫進去我要的資訊。

#include "stdio.h"  //請注意..這個lib已定要include進來,不然不能用

 

FILE *pFile;

CString   ChineseStr,tempStr;
ChineseStr.Format(_T("%hs"),"這是一個測試程式"); 
tempStr.Format(_T("test chinese :\t%hs\n"),ChineseStr); 

pFile = fopen( "write.txt","a" );

if( pFile==NULL ){
      printf( "open failure" );
}else{

    _ftprintf(pFile,_T("%s"),Data);
}

fclose(pFile);

 

上面這個範例執行後,可以去開檔案,就會看到中文是正常顯示。

 

PS:寫檔 跳行 => \n  ,  Tab => \t

 

, , , , ,

expect7 發表在 痞客邦 PIXNET 留言(0) 人氣()