在 fopen 中使用相对路径

问题描述

我正在尝试通过 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");

解决方法

我通过使用 FILE * f = fopen ("src/users/login.json","rb"); 并将 Clion 工作目录更改为 /home/user/project

解决了这个问题