如何读取文件名是汉字的txt文档
char filename[1024];
char str[]="f:\\文档.txt";
strcpy(filename,str);
fstream infile;
char s[1024];
infile.open(filename,ios::in);
while(infile.getline(s,1024))
{
cout<<s<<endl;
}
这样输出什么都没有,设断点发现,根本没有进到while循环里面,
但是如果把文件名改成英语的,char str[]="f:\\abc.txt";这样就能够正确输出txt文档,请问怎么按行输出文件名是中文的txt文档?
[解决办法]
Sorry,如果只有文件名是汉字的话,只要使用宽字符即可。
- C/C++ code
wchar_t filename[1024];wchar_t str[]=L"f:\\文档.txt";wcscpy(filename,str);wfstream infile;wchar_t s[1024];infile.open(filename,ios::in);while(infile.getline(s,1024)){ cout<<s<<endl;}
[解决办法]
不要返回局部变量