You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CLion中使用C语言读取文件?解决打开失败问题

CLion文件读取失败(相对路径)分步解决指南

问题根源

Code::Blocks默认把项目根目录作为程序运行的工作目录,而CLion默认用编译输出目录(比如cmake-build-debug)作为工作目录,所以直接把file.txt放在项目根目录,CLion里的程序找不到它。

解决方法(二选一即可)

方法一:把文件放到编译输出目录

  • 打开你的CLion项目,找到根目录下的cmake-build-debug或cmake-build-release文件夹(取决于你当前用的是Debug还是Release模式)
  • 将file.txt复制到这个文件夹内
  • 重新运行程序,fopen("file.txt","r")就能正常读取文件了

方法二:修改CLion运行配置,指定工作目录为项目根

  • 点击CLion右上角的运行配置下拉框(显示当前程序名称的地方),选择Edit Configurations...
  • 在弹出的配置窗口中,找到你的C/C++应用程序条目,在Working directory输入框中,替换为项目根目录路径(可以点击右侧文件夹图标选择,或者直接输入变量$PROJECT_DIR$,CLion会自动识别项目根)
  • 点击Apply和OK保存配置
  • 把file.txt放在项目根目录,重新运行程序即可读取

排查验证(可选)

如果还是有问题,可以在代码里添加打印当前工作目录的代码,确认程序实际运行路径:

#include <stdio.h>
#include <unistd.h> // Windows下替换为#include <direct.h>,函数换成_getcwd

int main() {
    char buf[1024];
    getcwd(buf, sizeof(buf)); // Windows下用_getcwd(buf, sizeof(buf));
    printf("当前工作目录:%s\n", buf);
    return 0;
}

运行后根据打印的路径,把file.txt放到对应位置即可。

内容的提问来源于stack exchange,提问作者Severjan Lici

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 15:04:52