28 lines
785 B
C
28 lines
785 B
C
|
#include <stdio.h>
|
||
|
#include <sys/types.h>
|
||
|
#include <sys/stat.h>
|
||
|
#include <fcntl.h>
|
||
|
#include <unistd.h>
|
||
|
|
||
|
// 使用 stat 函数获取文件的信息,并判断文件类型
|
||
|
int main(int argc, char const *argv[])
|
||
|
{
|
||
|
const char *path = argv[1]; // 获取命令行参数中的文件路径
|
||
|
|
||
|
struct stat fileStat;
|
||
|
if (stat(path, &fileStat) == 0)
|
||
|
{
|
||
|
// 获取文件信息成功
|
||
|
if (fileStat.st_mode & __S_IFDIR)
|
||
|
{
|
||
|
printf("%s 是一个目录\n", path); // 判断文件是否为目录,并输出相应信息
|
||
|
}
|
||
|
else if (fileStat.st_mode & __S_IFREG)
|
||
|
{
|
||
|
printf("%s 是一个普通文件\n", path); // 判断文件是否为普通文件,并输出相应信息
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return 0; // 返回成功码
|
||
|
}
|