我有src文章中的article.html测试libxml,我希望阅读它的相对路径'.article',但在clion中,cmake将当前目录更改为“/ home/roroco /.CLion12/system/cmake/generated/c9a7a4c5/c9a7a4c5/Debug0“,我的问题是:是否有get_current_source_dir()
?如何获得c源代码不cmake编译目录
更新这里是我的ex.c:
#include <unistd.h>
#include "stdio.h"
int main(int argc, char **argv) {
puts(get_current_dir_name());
// /home/roroco/.CLion12/system/cmake/generated/b321980/b321980/Debug
FILE *f = fopen('article.html', "r");
fseek(f, 0, SEEK_END);
// Signal: SIGSEGV (Segmentation fault)
return (0);
};
这里是我在这里的文件树
- ex.c
- CMakeLists.txt
- article.html
这似乎并非是一个C语言的问题,因此当你删除C得到更好的反应标签。请提供您尝试实施的解决方案的一些示例。 – Erik
@Erik,这是关于C,我更新我的代码 – nwaicaethi
非常好。 SIGSEGV发生是因为你没有检查NULL的返回值''fopen'''。如果您使用绝对路径而不是相对路径,则会获得更多成功。 – Erik