到目前为止,我所有的C ++开发工作都是在Windows / Microsoft Visual Studio IDE中完成的。这里的文件夹结构是:
C:\CppCode\Project\*.cpp
和C:\CppCode\Project\*.h
上面main.cpp
文件夹中\Project\
文件中的一行是
FILE* fp = fopen("debug.txt","r");
这样做的效果是在debug.txt
C:\CppCode\Project\
文件
现在,我有一台使用Netbeans IDE的不同Linux / Ubuntu机器。 Windows C:\CppCode\Project\
文件夹可直接在Ubuntu计算机中以/home/Tryer/CppCode/Project/
的形式提供。这不是副本,而是原始文件。也就是说,我在Ubuntu中通过NetBeans向/home/Tryer/CppCode/Project/main.cpp
进行的任何更改都会直接更改Windows计算机中的C:\CppCode\Project\main.cpp
。
我在/home/Tryer/Ubuntucode/
的Ubuntu机器中创建了一个项目文件。此项目的源文件和头文件来自/home/Tryer/CppCode/Project/
文件夹。
当从Ubuntu机器中执行代码FILE* fp = fopen("debug.txt","r");
时,"debug.txt"
文件不会在Windows的C:\CppCode\Project\
文件夹中创建(即,它不是在{{{ 1}} Ubuntu的文件夹)。然而,我怎么能用最少的硬编码来实现这一点,可能是通过使用相对寻址?
有没有办法在Ubuntu / Netbeans中获取源文件的绝对路径?
这样,假设/home/Tryer/CppCode/Project/
是绝对路径,更具体地说是$path$
所在的文件夹,那么类似于:
main.cpp
可以在Ubuntu / Netbeans中使用吗?
感谢。