shell 为什么fopen()返回null,如果我在Clion中使用run,但在terminal中返回指针?

bqucvtff  于 2023-06-30  发布在  Shell
关注(0)|答案(1)|浏览(146)
int main() {
    FILE *fp= fopen("test","r");  //test.txt exists in the project; content: 11111;
    if (fp){
        int num;
        fscanf(fp,"%d",&num);
        printf("%d",num);
        fclose(fp);
    } else{
        printf("Null");
    }
    return 0;
}

输出:

//With "run" in IDE:
Null

//Using terminal in IDE:
(base) apple@xiaomibijiben-Air-3 untitled1 % clang main.c -o main   
(base) apple@xiaomibijiben-Air-3 untitled1 % ./main
11111%

我的猜测是:在终端中运行和运行选择不同的文件目录来读取。

0lvr5msh

0lvr5msh1#

这是由于Clion无法识别当前的工作路径而导致的。
解决方法如下。
1.打开“编辑配置”

1.将“工作目录”设置为当前项目的绝对路径。

相关问题