#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 编写。我运行了这个程序,但没有任何反应。我认为它不会创建该文件。如果我的程序有错误,任何人都可以帮助我理解吗?
最佳答案
文件已创建,但您不知道它在哪里。
由于文件名前面没有目录路径,因此您在当前工作目录中创建文件,即(对于在 Xcode 中运行的程序)创建可执行文件的目录构建时间。
要找到名为 tyxaioi.txt
的文本文件,请首先激活 Xcode 项目的窗口。
在左侧边栏上打开文件夹产品,您应该会看到一个代表可执行文件的图标。
右键单击该图标并选择“在 Finder 中显示”
在同一目录中,您将看到文本文件。
如果该行为不是您想要的,您可以指定绝对路径,例如
fp=fopen("/Users/xxxx/Desktop/tyxaioi.txt","w");
将xxxx
替换为您的主文件夹的名称;该文件将在桌面上创建。
顺便说一句:如果您无法打开文件,您应该打印一 strip 有含义的消息并退出(或处理错误):
if(fp==NULL) {
fprintf(stderr, "Can't open the file for writing.\n");
return 1; // <====
}
关于c - MacOS 中的 fprintf,未打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22462438/