【发布时间】:2021-02-06 09:48:26
【问题描述】:
我正在尝试通过fopen 打开目录中的文件。
绝对路径如下:
/home/user/Desktop/project/src/users/login.json
我的应用程序的 main.c 在这里:
/home/user/Desktop/project/src
我尝试了以下格式,但它们不起作用(返回 NULL 指针,errno 为 2):
FILE *f = fopen("./users/login.json", "rb");
FILE *f = fopen("/users/login.json", "rb");
FILE *f = fopen("login.json", "rb");
FILE *f = fopen("src/login.json", "rb");
FILE *f = fopen("./src/login.json", "rb");
绝对路径可以代替:
FILE *f = fopen("/home/user/Desktop/project/src/users/login.json", "rb");
【问题讨论】:
-
a.out 在 /home/user/Desktop/project 中(如果我使用 Clion,我也会遇到同样的问题)
-
@xing 我已经尝试在我的 main.c 中使用
FILE * f = fopen("users/login.json", "rb");(在/home/user/Desktop/project/src上),但它仍然不起作用。 -
你可以做一个
getcwd(获取当前工作目录)并从那里构造到路径。 -
@xing 不起作用
-
getcwd可能会报告与您的想法不同的路径。