【问题标题】:XCode Issue when compile C code编译 C 代码时的 XCode 问题
【发布时间】:2016-01-18 19:27:17
【问题描述】:

我有一个程序,可以将 a 和 b 的总和(从文件中读取)写入文件中。当我编译代码时出现问题。

我不知道为什么会出现此错误,因为在 Windows 上相同的代码可以正常工作。谢谢。

【问题讨论】:

  • 总是检查文件是否打开成功。 (做一个 if(in) )
  • 你确定“adurane.in”存在并且可读,所以in不为NULL?
  • 请将代码以文本形式发布...
  • 除了检查fopen 的结果(XCode 告诉你in == NULL)你还必须检查fscanf 的结果。这两个遗漏都是基本的新手错误。如果你检查过它们,你就不必问这个问题了。

标签: c xcode compiler-errors


【解决方案1】:

您对相对路径的使用很可能是不正确的——Xcode 不会在源所在的文件夹中启动可执行文件(即使它试图:当源位于多个文件夹中时它应该做什么?),所以 @ 987654321@ 是 NULL,因此 fscanf 具有未定义的行为。

一般来说,假设您在从 IDE 或 GUI 启动时知道当前工作目录是不可靠的。

【讨论】:

  • 所以我需要把整个路径放到“adunare.in”文件中?
  • 要么这样,要么显式调用 POSIX 方法chdir,或者只是将输入的位置作为参数,就好像你是一个命令行实用程序一样。在 Xcode 中,您可以单击停止按钮旁边顶部栏中的项目名称,选择“编辑方案...”并使用“运行”目标的“参数”选项卡来提供合适的路径和文件名。在 C 语言中,您还可以使用 getcwd 来获取当前工作目录,如果您好奇的话,但是 Xcode 不保证任何事情,因此它可能不是一个非常有用的方法。
猜你喜欢
  • 2011-07-07
  • 1970-01-01
  • 2018-03-21
  • 2014-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多