strstr函数、chdir函数、access函数、strdup函数的介绍

1、strstr函数

strstr 是 C 语言中的一个字符串处理函数,用于在一个字符串中查找子字符串的第一次出现。

函数原型

char *strstr(const char *haystack, const char *needle);

  • haystack:要在其中搜索的字符串。
  • needle:要查找的子字符串。

函数返回一个指向第一次出现子字符串的指针,如果子字符串未找到,则返回 NULL

2、chdir函数

chdir 是 C 语言中的一个系统调用,用于改变当前工作目录

函数原型

int chdir(const char *path);

  • path:要切换到的目标目录的路径。

函数返回值:

  • 若成功,则返回 0。
  • 若失败,则返回 -1,并设置 errno

 例子

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>

int main() {
    const char *newDir = "/path/to/new/directory";

    if (chdir(newDir) == 0) {
        printf("Changed to directory: %s\n", newDir);
    } else {
        perror("chdir");
        exit(EXIT_FAILURE);
    }

    return 0;
}

在这个例子中,程序尝试切换到指定的目录 newDir。如果切换成功,就输出相应的消息;如果失败,就通过 perror 输出错误信息。

3、access函数

access 是 C 语言中的一个系统调用,用于检查文件或目录的权限。

函数原型

int access(const char *pathname, int mode);

  • pathname:要检查的文件或目录的路径。
  • mode:权限模式,指定了检查的权限。可以是以下之一:
    • F_OK:测试文件是否存在。
    • R_OK:测试读权限。
    • W_OK:测试写权限。
    • X_OK:测试执行权限。

函数返回值:

  • 若文件或目录具有所需权限,则返回 0。
  • 若文件或目录不具有所需权限,则返回 -1,并设置 errno

 示例

#include <stdio.h>
#include <unistd.h>

int main() {
    const char *file = "/path/to/file.txt";

    if (access(file, F_OK) == 0) {
        printf("File exists.\n");
    } else {
        perror("access");
    }

    return 0;
}

在这个例子中,程序通过 access 函数检查文件是否存在。如果文件存在,就输出相应的消息;如果不存在,就通过 perror 输出错误信息。

4、strdup函数

strdup 是 C 语言中的一个函数,用于复制字符串,并返回指向新字符串的指针。 

函数原型

char *strdup(const char *str);

  • str:要复制的字符串。

函数返回一个指针,指向新分配的以 null 结尾的字符串。如果内存分配失败,则返回 NULL

 strdup 函数返回一个指向新分配字符串副本的指针。需要注意的是,由于它在堆上分配了内存,使用完后需要手动释放这块内存,以防止内存泄漏。

  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值