Xcode应用不再从该文件夹中读取输入
Xcode App No Longer Reads Input From the Folder The App is Stored In
标题有点漫长,但基本上,我编写了一个读取并将其输入和输出写入文本文件的应用程序。在整个时间内,它将与我的XCode派生数据 -> Project-> build-> build-> products->调试文件夹直接读取文件。这是所有内容都在写和阅读的地方。我没有为应用程序设置的自定义路径,因此只需在应用程序所在的任何地方保存即可。我第一次运行了Apple's Instruments应用程序,试图学习如何使用剖面。在选择此应用程序作为仪器中的目标之后不久,我返回Xcode应用程序以更多的方式运行该程序。一切都在XCode中正常工作。它从文件和打印到文件夹位置的文件中读取与文件夹相同的文件,但是如果我尝试通过单击文件并让其打开终端来运行实际程序本身,则它将不再读取或打印到该应用程序为目录的目录取而代之的是,它的印刷和阅读我的主文件夹。我不知道发生了什么变化或导致它发生了什么变化,但我希望这是一个简单的修复程序。我想让应用程序从文件中读取并从目录中打印文件再次位于此处。我不确定它是XCode设置还是终端设置。
任何帮助将不胜感激。
更新1:不运气尝试:
如何将工作目录更改为程序的位置
目录字段是空白的,所以我认为这是解决方案,但是将其填写为没有减轻问题的建议。
更新2:
刚刚尝试删除优先文件,但仍然没有解决方案。我愿意给某人声誉。我没有很多东西,因为我是一个较新会员,但是我会把这个人认为是公平的,任何人解决的人。我很拼命,真的不想等2天解决这个问题。
更新3:
尝试更改计划部分中" profile(repares) ->"选项"区域中的默认路径为更新1中建议的默认变量。没有运气。我开始失去理智。
更新4:
我已经尝试完全删除该计划并制定新计划,希望该计划可能会有一些事情,但这并不能解决问题。在XCode中运行应用程序时的输入和输出仍在使用工作目录,在调试文件夹中运行可执行文件时,正在使用Home Folder。
更新5:
刚刚在旧的iMac和Xcode设置(OS 10.8.5和Xcode 5.1.1)上进行了测试,并且似乎正常工作,在调试文件夹中读取和写入应用程序的当前工作目录。
无论出于何种原因,https://stackoverflow.com/a/155537436/1035008建议的解决方案不再可行。也许在Xcode 8.1中损坏。但这似乎有效:
#include <iostream>
#include <fstream>
#include <unistd.h>
using namespace std;
int main (int argc, const char * argv[])
{
// argv[0] returns the full path to the program, in my case "/Users/yuchen/Library/Developer/Xcode/DerivedData/../Debug/test
string directory(argv[0]);
// And we want to get rid of the program name `test`
directory = directory.substr(0, directory.find_last_of("/"));
// Point the directory to the program directory
chdir(directory.c_str());
cout << "Current directory is: " << getcwd(NULL, 0) << endl; // /Users/yuchen/Library/Developer/Xcode/DerivedData/../Debug/
ifstream fin("hi.txt");
if (fin.is_open()) cout << "File is Open" << endl;
else cout << "File is not open" << endl;
fin.close();
return 0;
}
也看到这样。希望这可以帮助。
- 为什么从 std::cin 读取输入后右括号字符的值有时不是")"?
- 函数 freopen 不读取输入
- 我遇到使用 c++ 逐行读取输入文件的问题
- 控制台未正确读取输入字符串
- 在C++中使用istringstream读取输入时出错
- 不读取C++输入
- C++ 仅读取输入文件中的部分(不是全部)数据以添加到记录中
- 读取输入后,输出丢失了一个字符
- 如何在 c++ 中读取输入字符串,忽略空格
- 使用 docker 读取输入文件
- 如何在窗口上的命令行中读取输入 .in 文件
- 在 c++ 服务器上实时读取输入
- 使用不同类型的分隔符从.txt文件中读取输入
- 如何在读取 c++ 输入时脱离循环
- 尝试重复读取输入会出错
- 我的 Visual c++ 托管单元测试项目未读取输入文件
- C 读取输入,直到线char数组的结束
- C (Visual Studio):尝试从.txt文件读取输入时什么都没有收到
- 读取C++输入文件
- 如何从具有交替数据的文件中读取输入并存储到两个数组