本实验完成ls显示指定目录下文件列表的功能,如“ls 目录”、“ls –l 目录”、“ls -l”。主要应用目录的打开、读取、关闭函数完成,其中在读目录时由于readdir()函数一次只能读取一个文件信息,因此需要循环进行,直到到达目录结尾。
这段代码是检查文件的类型并打印出文件的大小。
该函数接收一个指向 struct stat 类型的指针,通过按位与运算符(&)和 st_mode 成员,来检查文件的类型。如果文件是字符设备文件或块设备文件,则使用位移运算符(>>)和按位与运算符(&)来打印出设备的主要和次要编号。否则,函数直接打印出文件的大小,单位是字节。