c++ - 无法从 Mac 上的 C++ 程序读取文件

标签 c++ file-io readfile file-not-found

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

....
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 无法读取我的数据文件?有什么想法吗?

最佳答案

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

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

关于c++ - 无法从 Mac 上的 C++ 程序读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7077241/

相关文章:

c++ - 从另一个程序或终端中断正在运行的 c++ 程序

c++ - C++ 类 : undefined reference 中的静态常量

php - 文件 I/O 到 PHP 中的文本区域

java - JSP 标记类中的同步块(synchronized block)

android - 无法在android中读取文件

PHP readfile() 损坏文件

c++ - 模板元编程 : print type list

c++ - 似乎无法在碰撞、散列时打破 while 循环

java - 将 JSONObject 写入文件

python - Python如何读取打开后删除的文件