永发信息网

c++文件操作 不支持中文路径吗?

答案:4  悬赏:80  手机版
解决时间 2021-04-07 12:34
我用c++编写了一个简单的有关文件操作的程序,验证了一下
#include
#include
#include
using namespace std;
void main()
{
string si,str1;
cout<<"请输入文件源路径";
cin>>si;
ifstream infile(si.c_str(),ios::in);

if(!infile)
cout<<"文件打开错误"< else
infile>>str1;

cout<<"读入的字符为: "<}

在c盘中有两个文件夹一个名为“samples”,另一个名为“例子”。这两个文件夹中都有一个aaa.txt。第一次运行时输入文件源路径c:/samples/aaa.txt,程序正常运行,显示出了aaa.txt中的内容;而第二次运行时我输入了c:/例子/aaa.txt,程序显示“文件打开错误”。
难道说c++中文件操作不出现中文吗?有没有解决这类问题方法?

我试过正斜杠和反斜杠都可以,那个无所谓
最佳答案
看是不是代码页转化的问题,请问是什么操作系统
全部回答
windows上你可以尝试使用_wsystem,传递宽字符路径。 比如 _wsystem(l"测试\\test.exe"); 不知道你在传递给system函数时,是否将路径的分隔符转义了?如果没有转义,肯定会出现问题。确保代码中的字符串是: "\"c:\\testing\\中文目录\\空格 目录\\testing.exe\""
我试过,应该没问题的。不过尽量别用含中文名字的路径。
c:/samples/aaa.txt这样也行,是不是反了哦 "/" "\",看好该用那个 c:\samples\aaa.txt这样应该才是对的吧
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如图所示,不可伸长的轻绳AO和BO下端共同系一
怎样保存vbe格式
王者荣耀怎么清除账号,王者荣耀登录后怎么删
驾校消档流程是怎样的?
单选题一个三位数,个位数字是a-b-c,十位数
艾发保险柜怎样设密码
07年福克斯时速120公里,怠速要几千转才正常
双色球单式32120619,,2O16年9月1号
煮霸营养骨汤麻辣烫地址在哪,我要去那里办事
关于青梅煮酒的句子
重庆公积金夫妻组合最高60万是不是两人都要买
单选题关于生物进化过程的正确表述是A.某种群
新人求助各位大神鉴定下天梭T099.207.16.116.
我的车是哈佛H6烧的95号,现在能换92号汽油吗
自驾车从长春去北大湖滑雪场怎么走
推荐资讯
前面是红灯,我想左拐,怎么办啊
女主苏半夏男主傅靳言的小说
为什么刘唐叫赤发鬼
单选题叶绿体是半自主的细胞器,若用胡萝卜根
But if you want cry,cry on my shoulder 这
海信电视LED32K300有声无光是什么故障
x2十2x十1=4是什么形式
达芬奇项目管理器项目不显示
武汉大学生命科学院录取分数
瑞泰装饰地址有知道的么?有点事想过去
《青云志》手游可以组队一起下副本么?
归帆一文中有三个错别字,是哪三个错别字。
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?