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