- 获取目录相关函数
C语言中可以通过使用<dirent.h>
头文件中的函数获取目录信息。具体函数如下:
-
opendir(const char *dirpath)
:打开一个目录(dirpath参数是目录路径),返回一个指向DIR结构体的指针。若打开失败,返回NULL。 -
readdir(DIR *dirp)
:读取下一个文件的信息,并返回文件信息的指针。文件信息包含文件名、文件类型等等。若读取失败(如已经读取完所有文件),则返回NULL。 -
closedir(DIR *dirp)
:关闭打开的目录,释放资源。
一个简单的获取目录文件名列表的示例:
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
int main()
{
DIR *dir;
struct dirent *entry;
// 打开目录
dir = opendir("./");
if (dir == NULL)
{
printf("Failed to open directory.\n");
return -1;
}
// 遍历目录中的文件,并打印出文件名
while ((entry = readdir(dir)) != NULL)
{
printf("%s\n", entry->d_name);
}
// 关闭目录
closedir(dir);
return 0;
}
- 改变目录相关函数
C语言中可以通过使用<unistd.h>
头文件中的函数改变目录。具体函数如下:
-
chdir(const char *path)
:改变当前的工作目录为path。 -
getcwd(char *buf, size_t size)
:获取当前工作目录的路径,并将其存入buf中。size参数为buf数组的长度。
一个简单的改变目录的示例:
#include <stdio.h>
#include <unistd.h>
int main()
{
char path[100];
// 获取当前工作目录
getcwd(path, sizeof(path));
printf("Current working directory: %s\n", path);
// 改变工作目录
if (chdir("/tmp") == -1)
{
printf("Failed to change directory.\n");
return -1;
}
// 获取改变后的目录
getcwd(path, sizeof(path));
printf("Current working directory: %s\n", path);
return 0;
}
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言中获取和改变目录的相关函数总结 - Python技术站