文件IO编程十二
来源:互联网 发布:C 释放动态数组内存 编辑:程序博客网 时间:2024/05/22 17:26
windows目录是是一个容器,是在分区下的,也是一个文件夹
而linux下目录是一个路径,是供分区挂载的,用户通过这个路径才可以找到分区。
i_node是描写文件的属性。dir/是文件名以及索引名。
我们在操作文件的时候,经常需要获取文件的属性,比如类型、权限、大小、所有者等等。
头文件:#include <sys/types.h> #include <sys/stat.h> #include <unistd.h>
原型:int stat(const char *path, struct stat *buf); //如果是软链接,也是获得软链接的目标文件的属性
int fstat(int fd, struct stat *buf);
int lstat(const char *path, struct stat *buf); //如果是软链接,是获得链接文件的属性
path:文件路径
fd:文件描述符
buf:属性结构体
这三个函数的功能完全一样,区别是:stat( )参数是一个文件的名字,而 fstat( )的参数是一个已经被打开了的文件的描述符 fd,而 lstat( )则可以获取链接文件本身的属性。
程序:
struct stat buf;
bzero(&buf, sizeof(buf));
//stat(argv[1], &buf);
lstat(argv[1], &buf);
printf("size: %d\n", (int)buf.st_size);
printf("ino : %d\n", (int)buf.st_ino);
switch(buf.st_mode & S_IFMT)
{
case S_IFSOCK:
printf("%c\n", 's');
break;
case S_IFLNK:
printf("%c\n", 'l');
break;
case S_IFREG:
printf("%c\n", '-');
break;
case S_IFBLK:
printf("%c\n", 'b');
break;
case S_IFDIR:
printf("%c\n", 'd');
break;
case S_IFCHR:
printf("%c\n", 'c');
break;
case S_IFIFO:
printf("%c\n", 'p');
}
- 文件IO编程十二
- 文件IO操作编程
- Linux文件IO编程
- 文件IO编程
- 文件IO编程一
- 文件IO编程二
- 文件IO编程三
- 文件IO编程四
- 文件IO编程五
- 文件IO编程六
- 文件IO编程七
- 文件IO编程八
- 文件IO编程九
- 文件IO编程十
- 文件IO编程十一
- Linux文件---文件IO编程
- linux c编程 文件IO
- Linux系统编程文件IO
- 小知识
- 算法训练 未名湖边的烦恼
- AJAX入门学习
- synchronized(this)总结
- Android点击EditText以外区域隐藏键盘Fragment同样适用
- 文件IO编程十二
- oj28. Implement strStr()
- Hadoop基础教程-第2章 Hadoop快速入门(2.1 Hadoop简介)
- python的with用法
- 图算法-Dijkstra算法
- 第十三届北京师范大学程序设计竞赛(6+2/10)
- Linux解压指定目录下zip和rar文件
- 一生只为寻找欢笑——读Linux之父林纳斯自传
- 中国用户体验设计究竟有多强