在Xcode中打开C中的文件

时间:2017-11-02 09:54:10

标签: c xcode file

#include <stdio.h>
#include <math.h>

int main(void) {

    int i=0;
    int number =0;
    float vector[100];
    float sum=0., mean = 9., stdev=0.;
    FILE *fp_in = NULL;

    fp_in = fopen("stat_data.txt","r");

    if(fp_in != NULL)
    {
        fscanf(fp_in,"%d",&number);
        for (i=0; i < number; i++) 
        {
            fscanf(fp_in, "%f", &vector[i]);
            sum += vector[i];
        }
        mean = sum/number;
        printf("Mean = %f\n",mean);

        sum=0.0;
        for(i=0; i<number;i++)
        {
            sum+= pow(vector[i]-mean,2);
        }

        stdev = sqrt(sum/(number - 1));
        printf("standard deviation is %f\n", stdev);
    }
    else
    {
        printf("Opening of file stat_data.txt failed\n"); 
    }

    return 0;   
}

我正在尝试在Xcode中打开文本文件“stat_data”,它可以在Linux计算机上运行,​​但它似乎不适用于Xcode。我认为设置有问题,但我不知道它可能是什么。

IDE的屏幕截图,显示stat_data.txt的放置位置 - Screen shot

2 个答案:

答案 0 :(得分:0)

发生这种情况是因为Xcode创建的二进制文件的位置与您的txt文件所在的位置不同。

所以我将我的txt文件放在我的二进制文件(readFile)的同一目录中。 在图片中,我列出了我的源和二进制文件所在的位置。

enter image description here

如果您不知道二进制文件的位置。如果您不知道二进制文件的位置,您可以显示它。您可以使用&#34;在查找器中显示&#34;。

来显示它

enter image description here

所以我的结果是: 文件已打开。

enter image description here

答案 1 :(得分:0)

因为在打开文件名时没有指定文件名的路径,所以程序希望该文件位于当前工作目录中,当您在Xcode中运行程序时由Xcode设置并在您设​​置时由shell设置从命令行运行程序(就像你运行它时所用的那样)。

有两种方法可以解决这个问题:

  • 在您打开文件时指定绝对路径,例如

    /Users/thiagmarques/path/to/stat_data.txt
    
  • 编辑方案以从包含该文件的目录运行。如果单击“编辑方案”,然后选择“运行”部分。 “选项”选项卡有一个“使用自定义工作目录”复选框。选中此项并输入包含文本文件的目录。