2

首先,这是我的代码的一部分:

....
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 无法读取我的数据文件?任何想法?

4

2 回答 2

2

您需要提供文件的完整路径。Xcode 将从构建目录运行应用程序,该目录不是代码所在的位置。

如果文件是作为构建 OSX 或 iOS 应用程序的一部分复制的,您应该查看包结构以找到目录。

于 2011-08-16T11:16:33.950 回答
1

您可以告诉 Xcode 从包含数据文件的目录运行可执行文件。

调出目标可执行文件的信息对话框,并将“将工作目录设置为:”的值更改为项目目录或自定义目录

于 2011-08-16T13:52:45.447 回答