首页 > 解决方案 > C fopen 在我的用户目录而不是桌面 Mac 中创建文件

问题描述

我正在用 C 语言读写文件。我编写了一个程序,该程序保存在我的桌面上。然后我使用终端编译它,也在桌面上。但是当我运行程序时,它说一切正常,但是找不到文件。我使用了聚光灯搜索,它说我的文件位于我的/Users/johndoe目录中。这是代码。提前感谢您的帮助。

#include <stdio.h>
#include <stdlib.h>

int main(){

    FILE* fp1 = fopen("boop.txt", "a");
    fputs("Hello World\n", fp1);
    fclose(fp1);
    FILE* fp2 = fopen("boop.txt", "r");
    char* output = (char *) malloc(20);
    fgets(output, 20, fp2);
    printf("%s", output);
    fflush(stdout);



    return 0;
}

标签: cmacosfile

解决方案


当您说终端“也在桌面上”时,您是什么意思?我怀疑您的意思是执行终端的图标在桌面上,但是在终端内运行的 shell 的工作目录为 $HOME。当您从 shell 运行程序时,键入pwd以查看它正在运行的目录。这是将在其中创建文件的目录。


推荐阅读