#include <stdio.h>
int main()
{
FILE *fp;
int i;
fp=fopen("tyxaioi.txt","w");
if(fp==NULL)
printf("Den vre8ike\n");
for(i=1;i<=25;i++)
fprintf(fp,"%d\n",i);
fclose(fp);
return 0;
}
我必须打开一个文件并在其中写入一些数字和一个字符串。要了解fopen
,fprintf
,fscanf
等的工作原理,我写了这个小程序。我有Mac OS,我用Xcode编写。我运行这个程序,没有任何反应。我认为它不会创建文件。如果我的程序中有错误,有人可以帮我理解吗?
答案 0 :(得分:3)
文件已创建,但您不知道它在哪里。
由于文件名不在目录路径之前,您在当前工作目录中创建文件,即(对于在Xcode中运行的程序)可执行文件所在的目录在构建时创建。
要找到名为tyxaioi.txt
的文本文件,请先激活您的Xcode项目窗口。
在左侧边栏上打开文件夹产品,您应该会看到一个代表可执行文件的图标。
右键单击该图标,然后选择&#34;在Finder中显示&#34;
在同一目录中,您将看到您的文本文件。
如果该行为不符合您的要求,您可以指定绝对路径,例如
fp=fopen("/Users/xxxx/Desktop/tyxaioi.txt","w");
将xxxx
替换为您的主文件夹的名称;该文件将在桌面上创建。
顺便说一句:如果您无法打开文件,则应打印带有意义的消息并退出(或处理错误):
if(fp==NULL) {
fprintf(stderr, "Can't open the file for writing.\n");
return 1; // <====
}