#include <stdio.h> /* defines FILENAME_MAX */
//#define WINDOWS /* uncomment this line to use it for windows.*/
#ifdef WINDOWS
#include <direct.h>
#define GetCurrentDir _getcwd
#else
#include <unistd.h>
#define GetCurrentDir getcwd
#endif
int main(){
char buff[FILENAME_MAX];
GetCurrentDir( buff, FILENAME_MAX );
printf("Current working dir: %s\n", buff);
return 1;
}
#include <stdio.h> /* defines FILENAME_MAX */
//#define WINDOWS /* uncomment this line to use it for windows.*/
#ifdef WINDOWS
#include <direct.h>
#define GetCurrentDir _getcwd
#else
#include <unistd.h>
#define GetCurrentDir getcwd
#endif
int main(){
char buff[FILENAME_MAX];
GetCurrentDir( buff, FILENAME_MAX );
printf("Current working dir: %s\n", buff);
return 1;
}
7条答案
按热度按时间wkftcu5l1#
你看过
getcwd()
吗?字符串
简单的例子:
型
9o685dep2#
查看
getcwd
的手册页。bprjcwpo3#
虽然这个问题被标记为Unix,但当目标平台是Windows时,人们也可以访问它,而Windows的答案是
GetCurrentDirectory()
函数:字符串
这些答案适用于C和C++代码。
user4581301在评论中建议链接到另一个问题,并通过Google搜索“site:microsoft.com getcurrentdirectory”验证为当前首选。
ndh0cuux4#
字符串
cqoc49vn5#
要获取当前目录(执行目标程序的目录),可以使用以下示例代码,该代码适用于Visual Studio和Linux/MacOS(gcc/clang),适用于C和C++:
字符串
uurv41yg6#
请注意,
getcwd(3)
也可以在Microsoft的libc:getcwd(3)中使用,其工作方式与您预期的相同。必须使用
-loldnames
(旧名称.lib,在大多数情况下自动完成)链接,或使用_getcwd()
。无前缀版本在Windows RT下不可用。oyxsuwqo7#
使用getcwd
字符串
或
型