首先,这是我的代码的一部分:
....
string input;
getline(cin, input);
ifstream openFile;
openFile.open(input.c_str(), ios::in);
if(openFile.is_open()){
cout << "File opened" << endl;
}
else {
cout << "Cant open the file " << endl;
}
结果总是“无法打开文件”。我非常非常确定文件是否存在。我在同一目录中有data1.txt,data2.txt ... data10.txt(我使用XCode添加新的空文件,在里面添加数据并保存)。
我做另一个测试,我创建一个新目录,复制粘贴cpp和数据文件。我在终端运行,它工作,它可以读取数据文件。为什么xcode无法读取我的数据文件?有什么想法吗?
答案 0 :(得分:2)
您需要提供文件的完整路径。 Xcode将从构建目录运行应用程序,而不是代码所在的目录。
如果在构建OSX或iOS应用程序时复制文件,您应该查看bundle structure以查找目录。
答案 1 :(得分:1)
您可以告诉Xcode从包含数据文件的目录中运行可执行文件。
打开目标可执行文件的信息对话框,并将“将工作目录设置为:”更改为项目目录或自定义目录'