文件路径名 不支持汉字

guozhong111 2009-09-17 09:33:36
ifstream infile("e:\\000.lrc",ios::in);

if(!infile)
return;
按以上方法可以打开文件并且读取。
但是当路径名中含有汉字时就打开文件失败了,如下例:
ifstream infile("e:\\跟我两辈子.lrc",ios::in);

if(!infile)
return;
这样打开文件就失败。

文件是确实存在的,而且名字也正确的····
该怎么解决呢???
...全文
176 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lin_style 2009-09-18
  • 打赏
  • 举报
回复
用标准统一的unicode编码,做应用程序还有老的啊死科,也太措了

关于使用标准,win见《windows核心编程》第一章
RockurSoul 2009-09-18
  • 打赏
  • 举报
回复
汉字是用两个字节来表示一个字符的,试试3楼的
guozhong111 2009-09-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lin_style 的回复:]
用标准统一的unicode编码,做应用程序还有老的啊死科,也太措了

关于使用标准,win见《windows核心编程》第一章
[/Quote]靠!这不正在学么···
kobemadi 2009-09-18
  • 打赏
  • 举报
回复
mark
whg01 2009-09-17
  • 打赏
  • 举报
回复
setlocale(0,"chs");
加上这个。
kouwenlong 2009-09-17
  • 打赏
  • 举报
回复
试试ifstream infile(Text(“e:\\跟我两辈子.lrc"),ios::in);
mstlq 2009-09-17
  • 打赏
  • 举报
回复
http://www.ecjtu.org/forum/read.php?tid-24234.html

locale::global(locale(""));//将全局区域设为操作系统默认区域
Kusk 2009-09-17
  • 打赏
  • 举报
回复
有可能是字符编码的问题。

将文件名改为由从部输入而不是写在程序中试试。比如从cin输入。

另外也可检查一下源程序文件保存为哪种编码。在中文Windows系统下可能要存为ANSI(GB2312)形式才有效:用记事本打开你的cpp文件,然后在“另存为”选项中保存成同名文件,保存类型为“所有文件”,编码选“ANSI”。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧