码迷,mamicode.com
首页 > 编程语言 > 详细

C语言文件IO操作的一些其它函数

时间:2016-02-03 16:30:47      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:

stat 函数

 1 1 #include <sys/stat.h> 
 2  2 #include <unistd.h> 
 3  3 #include <stdio.h>  
 4  4 int main() 
 5  5 {    
 6  6     struct stat buf;
 7  7     stat("1.c", &buf);
 8  8     printf("1.c file size = %d\n",(int)buf.st_size); 
 9  9     return 0;
10 10 }

文件执行结果
1.c file size = 868

struct stat {
    dev_t         st_dev;       //文件的设备编号
    ino_t         st_ino;       //节点
    mode_t        st_mode;      //文件的类型和存取的权限
    nlink_t       st_nlink;     //连到该文件的硬连接数目,刚建立的文件值为1
    uid_t         st_uid;       //用户ID
    gid_t         st_gid;       //组ID
    dev_t         st_rdev;      //(设备类型)若此文件为设备文件,则为其设备编号
    off_t         st_size;      //文件字节数(文件大小)
    unsigned long st_blksize;   //块大小(文件系统的I/O 缓冲区大小)
    unsigned long st_blocks;    //块数
    time_t        st_atime;     //最后一次访问时间
    time_t        st_mtime;     //最后一次修改时间
    time_t        st_ctime;     //最后一次改变时间(指属性)
};

2. fstat 函数
int fstat(int fd,struct stat *sbuf); //fd是打开的文件描述符,sbuf是存储stat结构体信息的

3. lstat 函数 // lstat类似于stat,但是命名的文件是一个符号链接时,lstat返回的是该链接符号的有个信息,而不是由该符号链接引用的文件信息!

4. dup和dup2函数
 1 #include <unistd.h>
 2 #include <sys/stat.h>
 3 #include <fcntl.h>
 4 #include <stdio.h>
 5 #include <stdlib.h>
 6 #include <string.h>
 7 
 8 int main(void)
 9 {
10         int fd, save_fd;
11         char msg[] = "This is a test\n";
12 
13         fd = open("somefile", O_RDWR|O_CREAT, S_IRUSR|S_IWUSR);
14         if(fd<0)
15         {
16                 perror("open");
17                 exit(1);
18         }
19         save_fd = dup(STDOUT_FILENO);//记录标准输出
20         dup2(fd, STDOUT_FILENO);//标准输出重定向到fd
21         close(fd);
22         write(STDOUT_FILENO, msg, strlen(msg));//标准输出输出到fd指向的文件
23         dup2(save_fd, STDOUT_FILENO);//标准重定向返回来
24         write(STDOUT_FILENO, msg, strlen(msg));//写入缓冲区,此时从屏幕输出
25         close(save_fd);
26         return 0;
27 }

 

  5.symlink 函数

    //用来创建符号链接的

1 #include<unistd.h>
2 int symlink(const char *actualpath,const char *sympath);

 

C语言文件IO操作的一些其它函数

标签:

原文地址:http://www.cnblogs.com/wireless-dragon/p/5179881.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!