如何获取从根目录C读取文件的路径?

如何获取从根目录C读取文件的路径?,c,C,我的项目根目录中有2个文件 ps.as ps_error.as 有一个截图 我可以试着打开这个文件 fp = fopen(strcat(filename, AS_FILE_EXT), "r"); // filename (ps / ps_error), AS_FILE_EXT (.as) /*if no file - error message and not compile*/ if (!fp) { fprintf(stderr

我的项目根目录中有2个文件

ps.as

ps_error.as
有一个截图

我可以试着打开这个文件

fp = fopen(strcat(filename, AS_FILE_EXT), "r");  // filename (ps / ps_error), AS_FILE_EXT (.as)

        /*if no file - error message and not compile*/
        if (!fp) {
            fprintf(stderr, "File \"%s\" not found!", filename);
            continue;
        }
输出是

找不到文件“ps.as”!找不到文件“ps_error.as”


据我所知,为了从项目的根目录读取文件,我只需要传递一个文件名,为什么它不起作用?

只有在从同一目录执行程序时,才能传递文件名。你试过从
mmn14
运行你的程序吗?@ForceBru是的,它可以运行,tnx!我是从
CLion
工作的,如果我试图直接从IDE进行调试,就会出现这个错误,但如果在调试配置中我将path设置为working dir,它就会工作。另外,我没有注意到,如果我试图从控制台执行我的程序,
filename
是否有足够的内存来容纳扩展名
据我所知,为了从项目根目录读取文件,我只需要传递一个文件名
,该文件名取决于执行程序的当前工作目录。只有在同一目录下执行程序时,才能传递文件名。你试过从
mmn14
运行你的程序吗?@ForceBru是的,它可以运行,tnx!我是从
CLion
工作的,如果我试图直接从IDE进行调试,就会出现这个错误,但如果在调试配置中我将path设置为working dir,它就会工作。另外,我没有注意到,如果我试图从控制台执行我的程序,
filename
是否有足够的内存来容纳扩展名
据我所知,为了从项目的根目录读取文件,我只需要传递一个文件名
,该文件名取决于执行程序的当前工作目录。