C编程getcwd变量操作

标签 c io directory getcwd

<分区>

基本上我需要一个 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/

相关文章:

apache - 单个用户下的多个域的目录结构应该是什么? ( Apache )

c - python和c for循环的区别

C程序计算考试成绩的平均值和最小值

php - 为什么 PHP Symfony sfSessionStorage::initialize 有时需要很长时间?

assembly - 使用 ARM 汇编语言获取用户输入

Applescript:在 Finder 中打开文件夹

c++ - 在 64 位机器上编译 32 位 :/usr/bin/ld: cannot find -l<someLibs>

c - 更新队列并从队列中删除所需的内容

BASH:如何将for循环生成的值快速写入文件

eclipse - 有没有办法展开 Eclipse 项目 View 和搜索结果中的所有文件夹?