写一个linux下用c++写的获取文件夹下所有文件名的代码
时间: 2024-05-13 10:13:45 浏览: 97
C++ 获取文件夹下的所有文件名
```
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <string.h>
int main(int argc, char *argv[]) {
DIR *dir; // 目录指针
struct dirent *entry; // 目录项指针
// 判断参数是否正确
if (argc != 2) {
fprintf(stderr, "Usage: %s <directory>\n", argv[0]);
exit(EXIT_FAILURE);
}
// 打开目录
if ((dir = opendir(argv[1])) == NULL) {
perror("opendir");
exit(EXIT_FAILURE);
}
// 遍历目录项并输出文件名
while ((entry = readdir(dir)) != NULL) {
if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0) {
continue; // 跳过当前目录和父目录
}
printf("%s\n", entry->d_name);
}
// 关闭目录
closedir(dir);
return 0;
}
```
编译命令:
```
gcc -o get_filenames get_filenames.c
```
运行命令:
```
./get_filenames <directory>
```
阅读全文