我一直在使用我正在上课的窗口,但我正在尝试运行一个基本代码来弄清楚如何从Xcode上的文件打开/关闭/输入/输出,我通常在视觉工作室上使用的代码是'工作任何想法为什么?谢谢!
#include <string>
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream fin;
ofstream fout;
string input;
fin.open("inputFile.txt");
if(fin.fail())
cout << "File failed to open." << endl;
fin >> input;
fout.open("outputFile.txt");
fout << input;
}
Run Code Online (Sandbox Code Playgroud)
小智 70
将.txt文件放在main.cpp文件所在的同一目录中(或任何您喜欢的文件).
在Xcode中,转到产品>方案>编辑方案>运行测试(在右侧)>选项(中间顶部)
在选项下,选中"使用自定义工作目录"并将其设置为.txt文件所在的目录.
要使用这些文件,您只需指定文件名,例如in_file.open("inputFile.txt"); 没有道路是必要的.
SSt*_*eve 27
这是一个完全不同的方法:让Xcode为您复制输入文件.






现在,每次构建项目时,输入文件都将被复制到与可执行文件相同的文件夹中,无论它在何处构建.当然,要查看输出文件,您仍需要在Finder中找到可执行文件.
答案并没有真正解释问题,所以我认为我会这样做。
当您将诸如“ inputFile.txt”之类的相对路径传递给文件API 时,在执行程序时会将其视为相对于工作目录的相对路径。通常,使用cmd.exe或Terminal.app或命令行时,这与“工作目录”相同。Unix命令pwd(“打印工作目录”)显示当前工作目录。在Windows上运行cd不带参数的命令将执行相同的功能。(在Unix上cd,不带任何参数的运行会将工作目录更改为用户的主目录。)
从命令行运行程序时,命令行外壳会设置程序的工作目录。当您在IDE中运行程序时,IDE会设置工作目录。由于与命令行不同,对于将IDE设置为工作目录的问题没有明显的答案,因此Visual Studio和Xcode默认将工作目录设置为不同的位置:Visual Studio将工作目录设置为$(ProjectDir),包含Visual的目录Studio项目文件;Xcode将工作目录设置为构建产品目录,即可执行文件被写入的位置。
您的问题的一些可能的解决方案是:
不要使用相对路径,因此不要依赖于工作目录。这对于使程序更具可移植性并没有太大帮助,因为平台之间的绝对路径也将有所不同,因此您仍然必须为每个平台“配置”程序。实际上,使用绝对路径会更糟,因为这意味着您的源代码必须有所不同,而最好将这种差异限制在每个平台的构建配置中。
配置IDE以使用所需的工作目录。可以通过右键单击项目,选择“配置属性”>“调试”>“工作目录”,然后将工作目录设置为所需的路径(可能使用Visual Studio构建变量)来配置Visual Studio。
nepete的答案描述了如何配置Xcode直接设置的工作。
配置IDE的构建过程,以将数据文件复制到适当的位置。在Visual Studio中,您可以在C ++项目中通过配置项目的“属性”>“配置属性”>“生成事件”来执行此操作。
SSteve的答案涵盖了如何在Xcode中配置其他构建步骤。
我猜您在包含源代码的文件夹中有 inputFile.txt 。那是行不通的。您需要将其放入包含生成的可执行文件的文件夹中。要找到该文件夹,请右键单击“产品”下的应用程序,然后选择“在 Finder 中显示”。

此图显示了命令行程序的外观。它还显示已打开的 Finder 窗口。如您所见,它是与包含源代码的文件夹不同的文件夹。

| 归档时间: |
|
| 查看次数: |
61611 次 |
| 最近记录: |