c - 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;
}
解决方案
当您说终端“也在桌面上”时,您是什么意思?我怀疑您的意思是执行终端的图标在桌面上,但是在终端内运行的 shell 的工作目录为 $HOME。当您从 shell 运行程序时,键入pwd
以查看它正在运行的目录。这是将在其中创建文件的目录。
推荐阅读
- powershell - 如何在不启动新的 Powershell 会话的情况下强制重新加载模块函数定义?
- python - 生成斜率的随机图
- linux - Python,多线程,套接字有时无法创建
- python - 如何在 Visual Studio Code 中调试现有的 lambda?
- c++ - 如何使用 decltype 获取向量元素的类型作为模板参数
- powershell - 如何提高目录创建速度
- android - 未使用 Room 的实体自动生成主键
- javascript - 如何在div的边界内对齐文本标题
- css - 如何处理以大百分比(300%)放大的多个屏幕分辨率
- wpf - 在活动窗口或网格内部而不是 MainWindow 上查找控件