代码实现ls-a操作,获取目录下每个文件名字,打印目录信息
目录操作详细知识点详见 文件io笔记
步骤:
1.打开目录
2.循环读取目录下的文件,读取的同时指针后移,只要读到了信息,就继续循环后移
3.循环打印读取到的信息,
#include <stdio.h>
#include <dirent.h>
#include <sys/types.h>
int main(int argc, char const *argv[])
{
DIR *dir; // 目录流
struct dirent *d; // 定义结构体变量 接收 readir 返回值
dir = opendir(".");
if (dir == NULL)
{
perror(" open error");
return -1;
}
// 打印目录信息
// 打印的同时向后移动
d = readdir(dir);
printf("%s \n", d->d_name);
// ls -a 功能
// 循环打印文件名
while ((d = readdir(dir)) != NULL)
{
printf(" %s ", d->d_name);
}
printf(" \n");
return 0;
}