c - MacOS 中的 fprintf,未打开文件

标签 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 编写。我运行了这个程序,但没有任何反应。我认为它不会创建该文件。如果我的程序有错误,任何人都可以帮助我理解吗?

最佳答案

文件已创建,但您不知道它在哪里。

由于文件名前面没有目录路径,因此您在当前工作目录中创建文件,即(对于在 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/

相关文章:

c - 在 C 中实现 hmac sha1

c - 将整数值存储在 C 中的字符数组中

MacOS 和 OpenCV

java - Android 设备未显示在 Eclipse 中

c++ - 是否有可能让 Visual Studio 2017 将 c++ 代码编译成 exe 以外的文件类型?

macos - 当仅激活一个应用程序的窗口时,如何将所有应用程序的窗口置于前面?

c - 在删除和写入闪存之前添加闪存

从 Fortran 调用 C dll

c++ - 遍历数组指针?

objective-c - 有没有办法从 Sync Services 联系人 ID 获取地址簿联系人 ID?