1: /*
讯享网
讯享网 2: created: 2008/05/10
3: created: 10:5:2008 23:56
讯享网 4: filename: k:/sj/fstreamTest/fstreamTest/main.cpp
5: file path: k:/sj/fstreamTest/fstreamTest
讯享网 6: file base: main
7: file ext: cpp
讯享网 8: author: Gohan
9: */
讯享网 10: #include <tchar.h> 11: #include <fstream> 讯享网 12: #include <iostream> 13: using namespace std;
讯享网 14: int main()
15: {
讯享网 16: /*/
17: /* 方法1,使用_TEXT()宏定义将字符串常量指定为TCHAR*类型 /
讯享网 18: / 如果是我,首选此类型 */
19: /*/
讯享网 20: fstream file; 21: file.open(_TEXT(“c://测试//测试文本.txt”));
讯享网 22: cout<<file.rdbuf(); 23: file.close(); 讯享网 24:
25: /*/
讯享网 26: /* 方法2,使用STL中的locale类的静态方法指定全局locale /
27: / 使用该方法以后,cout可能不能正常输出中文,十分蹊跷 /
讯享网 28: / 我发现了勉强解决的方法:不要在还原区域设定前用cout或wcout 输出中文 /
29: / 否则后果就是还原区域设定后无法使用cout wcout输出中文 */
讯享网 30: /*/
31: locale::global(locale(“”));//将全局区域设为操作系统默认区域
讯享网 32: file.open(“c://测试//测试文本2.txt”);//可以顺利打开文件了
33: locale::global(locale(“C”));//还原全局区域设定
讯享网 34: cout<<file.rdbuf(); 35: file.close(); 讯享网 36:
37: /*/
讯享网 38: /* 方法3,使用C函数setlocale,不能用cout输出中文的问题解决方法同上 */
39: //
讯享网 40: setlocale(LC_ALL,“Chinese-simplified”);//设置中文环境
41: file.open(“c://测试//测试文本3.txt”);//可以顺利打开文件了
讯享网 42: setlocale(LC_ALL,“C”);//还原
43: cout<<file.rdbuf();
讯享网 44: file.close();
45: }


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/151081.html