试图用C++打开文件,但找不到该文件

say*_*llo 7 clion

我在C++(main.cpp)中有一个算法,我使用CLion来编译和运行它.算法会从文本文件中读取字符串,但是有一个错误:

无法打开data.txt(文件存在并放在main.cpp的一个文件夹中)

如何修复它并使该文件对CLION"可见"?

Lou*_*nco 5

如果您正在使用fopen或类似的东西并且只是通过"data.txt",则假定该文件位于正在运行的程序的当前工作目录中(您刚刚编译的那个)。

所以,要么

  1. 改为提供完整路径,例如fopen("/full/path/to/data.txt")在使用实际完整路径的地方

  2. (不推荐),将 data.txt 移动到 CLion 运行其编译程序的目录。

(对于#2,这是获取该目录的一种hacky 方法)

char buf[1024]; // hack, but fine for this
printf("%s\n", getcwd(buf, 1024));
Run Code Online (Sandbox Code Playgroud)