c++编译器 MinGW 中文不支持,各位大侠是如何解决的?
我要用c++读取c:\数据\接口数据.txt中的内容.统计里面的字数中文算一个,文件里面有中文..请问各位大侠是如何用c++读取操作的?c++编译器MinGW对中文loc...
我要用c++读取c:\数据\接口数据.txt 中的内容.统计里面的字数中文算一个, 文件里面有中文..
请问各位大侠是如何用c++读取操作的?
c++编译器 MinGW 对中文localle不支持,各位大侠是如何解决的?
用过eclipse+ cdt + MinGW 并且成功解决中文问题的请帮帮忙.谢谢..
注意java什么的就免了... 必须用c++
后来找出来问题了,
int main() {
/** wchar_t支持 */
setlocale(LC_ALL, "");
locale langLocale("");
//locale langLocale(""); //老问题,MinGW下stdlibc++不支持std::locale 直接用setlocale(LC_ALL, "")
wifstream fin;
fin.imbue(langLocale);
wcout.imbue(langLocale);
//cout<<fin.getloc().name();
fin.open(fileName.c_str(),ios::out );
wchar_t ch;
int lineNum=0;
int columnNum=0;
//1.逐个读取一个字符
while (!fin.eof()) {
ch=fin.get();
columnNum ++;
//2.记录行数,并重置列位数
if (ch == '\n') {
lineNum++;
columnNum=0;
//cout<< lineNum ;
}
//wprintf (ch);
wcout << ch;
//wcout <<"中文";
}
fin.close();
cout<<'\n'<<endl;
//system("pause");
return 0;
}
这种写法是没问题的,原来是项目的编码问题, 我的是日文系统,eclipse+cdt+mingw
项目属性->Resource->Text file encoding 试着改成和系统的一致的试试..
还有源代码文件编码是不是一致的.不过我源代码是utf8的也可以运行.主要是项目属性中的编码要改成和系统的一致. 展开
请问各位大侠是如何用c++读取操作的?
c++编译器 MinGW 对中文localle不支持,各位大侠是如何解决的?
用过eclipse+ cdt + MinGW 并且成功解决中文问题的请帮帮忙.谢谢..
注意java什么的就免了... 必须用c++
后来找出来问题了,
int main() {
/** wchar_t支持 */
setlocale(LC_ALL, "");
locale langLocale("");
//locale langLocale(""); //老问题,MinGW下stdlibc++不支持std::locale 直接用setlocale(LC_ALL, "")
wifstream fin;
fin.imbue(langLocale);
wcout.imbue(langLocale);
//cout<<fin.getloc().name();
fin.open(fileName.c_str(),ios::out );
wchar_t ch;
int lineNum=0;
int columnNum=0;
//1.逐个读取一个字符
while (!fin.eof()) {
ch=fin.get();
columnNum ++;
//2.记录行数,并重置列位数
if (ch == '\n') {
lineNum++;
columnNum=0;
//cout<< lineNum ;
}
//wprintf (ch);
wcout << ch;
//wcout <<"中文";
}
fin.close();
cout<<'\n'<<endl;
//system("pause");
return 0;
}
这种写法是没问题的,原来是项目的编码问题, 我的是日文系统,eclipse+cdt+mingw
项目属性->Resource->Text file encoding 试着改成和系统的一致的试试..
还有源代码文件编码是不是一致的.不过我源代码是utf8的也可以运行.主要是项目属性中的编码要改成和系统的一致. 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询