C++ ifstream 由用户输入文件路径问题

liyuanhe211 2012-02-25 12:00:17
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream infile("language.txt",ifstream::in);
while (!infile)
{
cout<<"open error"<<endl;
char error[1000];
cin.getline(error,800);
strcat (error,"\\language.txt");
cout<<error<<endl;
ifstream infile(error,ifstream::in);
}
}



目的,打开一个程序当前工作目录下的一个文件,如果失败,手动输入路径,路径中需支持中文和空格。
如打开失败后输入“E:\My Program\CPP\ifstream cmd\ifstream cmd\Debug”
程序输出error是“E:\My Program\CPP\ifstream cmd\ifstream cmd\Debug\language.txt”是正确的
但是file还是open error
...全文
1061 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chlaws 2012-02-25
  • 打赏
  • 举报
回复
好像是windows的空格问题,你空格加冒号之类的处理下就好了
nanjun520 2012-02-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kuyucman 的回复:]
输入的串加上引号试试

"E:\\My Program\\CPP\\ifstream cmd\\ifstream cmd\\Debug"
[/Quote]
+++
c87527124 2012-02-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kuyucman 的回复:]

输入的串加上引号试试

"E:\\My Program\\CPP\\ifstream cmd\\ifstream cmd\\Debug"
[/Quote]++
楼主试一下,另外,mark
东莞某某某 2012-02-25
  • 打赏
  • 举报
回复
输入的串加上引号试试

"E:\\My Program\\CPP\\ifstream cmd\\ifstream cmd\\Debug"
IVERS0N 2012-02-25
  • 打赏
  • 举报
回复

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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