<分区>
基本上我需要一个 if 语句,其响应取决于当前工作目录。
我已经对该主题进行了一些研究,我相信 getcwd()
函数就是我要找的东西,但我不知道如何在 if 语句中与它交互.
我是 C 的新手,我正在制作的程序需要位于桌面上(顺便说一句,它是一个 UNIX 系统)才能正常运行,并且 if 语句需要确定它是否位于所述桌面上.
<分区>
基本上我需要一个 if 语句,其响应取决于当前工作目录。
我已经对该主题进行了一些研究,我相信 getcwd()
函数就是我要找的东西,但我不知道如何在 if 语句中与它交互.
我是 C 的新手,我正在制作的程序需要位于桌面上(顺便说一句,它是一个 UNIX 系统)才能正常运行,并且 if 语句需要确定它是否位于所述桌面上.
最佳答案
下面的代码对我来说在 ubuntu
上工作怎么样 -
#include <stdlib.h>
#include <unistd.h>
#include <limits.h>
int main( void ){
char* cwd;
char buff[PATH_MAX + 1];
cwd = getcwd( buff, PATH_MAX + 1 );
if( cwd != NULL ) {
printf( "My working directory is %s.\n", cwd );
if(strcmp("/home/razib/Desktop", cwd) == 0) {
printf("I'm in Desktop now\n");
}
}
return EXIT_SUCCESS;
}
在这里你必须提供getcwd()
方法一个buff[]
。 buff[]
可以用大小 PATH_MAX+1
声明。 PATH_MAX
可以在 limits.h
中找到。
希望对你有帮助。
非常感谢。
关于C编程getcwd变量操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28912377/