linux c 语言获取当前目录下所有jpg图片存放到数组中
时间: 2023-12-28 20:03:37 浏览: 89
可以使用 Linux 系统中的 dirent.h 头文件提供的函数来实现获取当前目录下所有 JPG 图片的操作。具体实现步骤如下:
1. 使用 opendir() 函数打开当前目录,获取目录句柄。
2. 使用 readdir() 函数读取目录中的文件,判断文件名是否以 ".jpg" 结尾。
3. 如果是 JPG 图片,则将文件名存放到数组中。
4. 循环执行步骤2和步骤3,直到读取完所有文件。
5. 使用 closedir() 函数关闭目录句柄。
下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <string.h>
#define MAX_FILES 100
int main() {
DIR *dirp;
struct dirent *direntp;
char *jpg_files[MAX_FILES];
int count = 0;
dirp = opendir(".");
if (dirp == NULL) {
perror("opendir error");
exit(EXIT_FAILURE);
}
while ((direntp = readdir(dirp)) != NULL && count < MAX_FILES) {
if (direntp->d_type == DT_REG && strstr(direntp->d_name, ".jpg") != NULL) {
jpg_files[count] = strdup(direntp->d_name);
count++;
}
}
closedir(dirp);
// 打印所有 JPG 文件名
for (int i = 0; i < count; i++) {
printf("%s\n", jpg_files[i]);
free(jpg_files[i]);
}
return 0;
}
```
注意,上述代码只是一个示例,实际应用中需要根据具体需求进行修改和完善。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)