#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的放置位置 -
答案 0 :(得分:0)
发生这种情况是因为Xcode创建的二进制文件的位置与您的txt文件所在的位置不同。
所以我将我的txt文件放在我的二进制文件(readFile)的同一目录中。 在图片中,我列出了我的源和二进制文件所在的位置。
如果您不知道二进制文件的位置。如果您不知道二进制文件的位置,您可以显示它。您可以使用&#34;在查找器中显示&#34;。
来显示它所以我的结果是: 文件已打开。
答案 1 :(得分:0)
因为在打开文件名时没有指定文件名的路径,所以程序希望该文件位于当前工作目录中,当您在Xcode中运行程序时由Xcode设置并在您设置时由shell设置从命令行运行程序(就像你运行它时所用的那样)。
有两种方法可以解决这个问题:
在您打开文件时指定绝对路径,例如
/Users/thiagmarques/path/to/stat_data.txt
编辑方案以从包含该文件的目录运行。如果单击“编辑方案”,然后选择“运行”部分。 “选项”选项卡有一个“使用自定义工作目录”复选框。选中此项并输入包含文本文件的目录。