-2

替代文字 http://img638.imageshack.us/img638/5731/screenshot20100613at121.png

为什么 c++ 程序会产生所示的错误?我特别困惑,因为 outfile 打开时没有错误但 infile 显示错误?两者在 xcode 中的定义完全相同!!我更改了“路径类型”设置但没有成功。在 infile 上打开总是失败!任何建议将不胜感激!

对于那些回复感谢但正如您所见但存在 infile 和 outfile 并且位于同一位置的人:

替代文字 http://img709.imageshack.us/img709/9316/screenshot20100613at123.png

4

4 回答 4

2

在您当前的情况下out_file,即使它不存在也会创建(因为您正在使用std::ofstream)。

in_file另一方面,必须存在,并且(我猜目录中没有创建二进制文件的此类文件),因此会产生错误。

您是否尝试使用二进制文件所在的同一文件夹中的文件启动已编译的应用程序?

于 2010-06-13T16:28:05.890 回答
2
  1. 在 Xcode 中,展开“Targets”节点并找到您的目标。鉴于我所看到的,它将是那里唯一的一个。
  2. 接下来,右键单击您的项目并添加一个新的“复制文件”构建阶段。当对话框出现时,确保将目标设置为“产品目录”。
  3. 新的构建阶段将出现在您的目标下方,无论您给它起什么名字。将您的 in_file 和 out_file 拖到那里。
  4. 编译并运行。
于 2010-06-14T03:45:32.787 回答
1

可能程序的工作目录中没有名为“in_file”的文件,因此无法打开读取。

因为outfile这无关紧要,因为它是为写入而打开的,如果它还不存在,它将被创建。

您发布的目录列表没有显示编译的可执行文件在哪里,但它可能会在build目录中的某个位置。可能这也是它的工作目录和输入文件需要的位置。(寻找out_file程序运行时创建的,它会在工作目录中创建,与它搜索的目录相同in_file。而且它不是您发布列表的目录,out_file太旧了。)

于 2010-06-13T16:27:50.160 回答
0

原来你必须在这里专门创建文件:

项目路径/构建/调试

显然你不能直接在 xcode 项目中定义它

于 2010-06-13T17:19:10.287 回答