/ Published in: C++
URL: http://blog.csdn.net/akof1314/archive/2010/01/16/5198537.aspx
Expand |
Embed | Plain Text
int main() { /************************************************************************/ /* 方法1,使用_TEXT()宏定義將字符串常量指定為TCHAR*類型 */ /* 如果是我,首選此類型 */ /************************************************************************/ fstream file ; file.open(_TEXT("c:\\測試\\測試文本.txt")); cout<<PRE> file.close(); /************************************************************************/ /* 方法2,使用STL中的locale類的靜態方法指定全局locale */ /* 使用該方法以後,cout可能不能正常輸出中文,十分蹊蹺 */ /* 我發現了勉強解決的方法:不要在還原區域設定前用cout或wcout 輸出中文 */ /* 否則後果就是還原區域設定後無法使用cout wcout輸出中文 */ /************************************************************************/ locale :: global(locale(""));//將全局區域設為操作系統默認區域 file.open("c:\\測試\\測試文本2.txt");//可以順利打開文件了 locale :: global(locale("C"));//還原全局區域設定 cout<<PRE> file.close(); /************************************************************************/ /* 方法3,使用C函數setlocale,不能用cout輸出中文的問題解決方法同上 */ /************************************************************************/ setlocale(LC_ALL,"Chinese-simplified");//設置中文環境 file.open("c:\\測試\\測試文本3.txt");//可以順利打開文件了 setlocale(LC_ALL,"C"); //還原 cout<<PRE> file.close(); }
You need to login to post a comment.
