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

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);
时间: 2024-10-24 23:53:43

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

imx6用文件io操作gpio

具体请参考: http://blog.csdn.net/u014213012/article/details/53140781 这里要注意的是: 要让linux支持文件io方式操作gpio,首先驱动必须得支持,也就是说设备树上必须先配置好gpio模式,然后参照以上链接去实现gpio操作 这里举例来说:hud项目中(imx6dl平台),有一个蓝牙电源的使能受GPIO1_IO30的控制,所以我们必须得在设备树上配置这个pad为GPIO模式 1.配置gpio模式 现在需要在设备树上配置GPIO1_IO

学习C/C++语言:文件的操作

#include<stdio.h> #include<stdlib.h> void main(int argc,char *argv[]) { FILE *in,*out; if(argc!=3) { printf("you forgot to enter a file name\n"); exit(0); } if((in=fopen(argv[1],"r"))==NULL) { printf("cannot open infli

Linux学习记录--文件IO操作相关系统编程

文件IO操作相关系统编程 这里主要说两套IO操作接口,分别是: POSIX标准 read|write接口,函数定义在#include<unistd.h> ISO C标准 fread|fwrite接口,函数定义在#include<stdio.h> 有书上说POSIX标准与ISO C标准的区别在于文件读写是否带缓冲区,我则不是很认同,因此POSIX标准下的IO操作也是带缓冲区的,至于这两个标准下的IO性能谁更加好则不一定,因为这和缓冲区的大小,以及用户逻辑有很大关系. POSIX标准

文件IO操作

前言 本文介绍使用java进行简单的文件IO操作. 操作步骤 - 读文件 1. 定义一个Scanner对象 2. 调用该对象的input函数族进行文件读取 (参见下面代码) 3. 关闭输入流 说明:其实和标准输入没什么不同.唯一要注意的区别就是 1 中Scanner构造函数的参数要是路径类型那么才是读文件,否则就是读字符串.(参考下面代码注释部分) 示例代码 1 package test; 2 3 import java.io.IOException; 4 import java.nio.fil

树莓派学习笔记——使用文件IO操作GPIO SysFs方式

0 前言 本文描述如果通过文件IO sysfs方式控制树莓派 GPIO端口.通过sysfs方式控制GPIO,先访问/sys/class/gpio目录,向export文件写入GPIO编号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction和value等,direction控制GPIO方向,而value可控制GPIO输出或获得GPIO输入. Linux学习可从应用出发,先不纠结Linux驱动编写,先把Linux给玩起来. [相同与不同] 本文和[EasyARM

[转]C语言文件输入/输出ACM改进版(freopen函数)

C语言文件输入/输出ACM改进版(freopen函数) 2009年5月27日 10:379,457 浏览数发表评论阅读评论 文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作. 昨天发了一篇<C语言 使用文件输入/输出数据>,使用的是最普通的文件输入/输出方法,Felix大牛随后给了一种更简单的改进方法,在ACM中应用很广,而且超赞,现在来介绍一下. 这次用到的文件打开函数不再是fopen,而是stdio.h中包含的另一个函数fr

C语言文件读写操作总结

C语言文件操作 一.标准文件的读写 1.文件的打开 fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程序就可用此FILE指针来实现对指定文件的存取操作了.当使用打开函数时,必须给出文件名.文件操作方式(读.写或读写),如果该文件名不存在,就意味着建立(只对写文件而言,对读文件则出错),并将文件指针指向文件开头.若已有一个同名文件存在,则删除该文件,若无同名文件,则建立该文件,并将文件指针指向文件开头. fopen(char

【UNIX环境高级编程】文件 IO 操作 - 基础函数 open close creat lseek write read 详解

博客地址 : http://blog.csdn.net/shulianghan/article/details/46980271 一. 文件打开关闭操作相关函数介绍 1. open 函数 (1) open 函数简介 open 函数解析 : -- 函数定义 : #include <fcntl.h> int open(const char *path, int oflag, ...); -- 函数作用 : 打开或者创建一个文件; -- 返回值 : 打开文件成功, 返回文件描述符; 如果失败, 返回

标准文件IO详解(一)---文件IO操作和标准文件IO操作的区别

POSIX IO操作称为文件IO,也称为低级文件IO,是操作系统提供的系统调用,属于没有缓冲区的文件操作方式.执行该种操作后,内容会直接被写入到内核中的提供给磁盘的专门缓冲区中,内核会定期的刷新该缓冲区,将内容同步到磁盘当中. ANSI  C IO操作称为标准文件IO,也称为高级文件IO,是C库函数提供的,属于带有缓冲区的文件操作方式.执行该种操作后,内容首先会将内容写入到用户空间的缓冲区中,待缓冲区满或者需要刷新的时候再去调用文件IO,将内容写入到内核的磁盘缓冲区当中. 相比于低级文件IO,高