MacOS中的fprintf,而不是打开文件

时间:2014-03-17 18:29:35

标签: c macos

#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;  
}

我必须打开一个文件并在其中写入一些数字和一个字符串。要了解fopenfprintffscanf等的工作原理,我写了这个小程序。我有Mac OS,我用Xcode编写。我运行这个程序,没有任何反应。我认为它不会创建文件。如果我的程序中有错误,有人可以帮我理解吗?

1 个答案:

答案 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; // <====
}