不带缓存的IO函数open() write() close()
2016-05-08 23:00
302 查看
/*
*本函数实现的功能是:当打开一个文件,若文件不存在时,创建它,并在文件中写入hello 2016
*
*/
#include <apue.h>
#define LINELEN 256
int main(int ac,char **av)
{
int fd = -1 , rdsize = 0;
char buf[LINELEN+1]; //定义缓存大小
if(1 >= ac){
printf("file name empty\n");
return 1;
}
fd = open("/root/Desktop/liu.sh",O_RDWR|O_CREAT|O_APPEND,0777); //第一个参数是文件路径,绝对路径名
if(0 > fd){
printf("open error [%d]\n",errno);
return 2;
}
memset(buf,0x00,LINELEN+1);
// buf[LINELEN] = '\0';
sprintf(buf,"Hello 2016\n");
rdsize = write(fd,buf,strlen(buf)); //给已经打开的文件描述符写
close(fd);
return 0;
}
#if 0
不带缓存的IO
* 常见的 open,read,write,lseek,close
* 定义: 都调用内核的中的系统调用,就是公共库函数
*文件描述符:
* 是一个大于0的整数,当打开已有文件或创建成功时,由内核给进程返回一个文件描述符,文件描述符作为参数
* 传给如:write ,read .close 等
*注意《惯例》:
* 文件描述符fd[0],fd[1],fd[2],已经成为惯例,分别为标准输入,标准输出,标准错误,也就是说,
* 一个进程可以打开多个文件,而这三个默认是打开的,以后打开的文件描述符,只能追加在它的后面
* 每个进程都有自己的文件描述符
*
*进程表项:存储 文件描述符 以及 FILE * FILE *是指向一个存储了文件信息的结构体
*文件表项:就是这个结构体,里面有文件状态标志(包括读 写 ,同步),文件偏移量,指向节点的表项指针
*节点表项:包含i-node ,当前文件长度,所有者,等节点信息都在磁盘上
*
*
*
#endif
*本函数实现的功能是:当打开一个文件,若文件不存在时,创建它,并在文件中写入hello 2016
*
*/
#include <apue.h>
#define LINELEN 256
int main(int ac,char **av)
{
int fd = -1 , rdsize = 0;
char buf[LINELEN+1]; //定义缓存大小
if(1 >= ac){
printf("file name empty\n");
return 1;
}
fd = open("/root/Desktop/liu.sh",O_RDWR|O_CREAT|O_APPEND,0777); //第一个参数是文件路径,绝对路径名
if(0 > fd){
printf("open error [%d]\n",errno);
return 2;
}
memset(buf,0x00,LINELEN+1);
// buf[LINELEN] = '\0';
sprintf(buf,"Hello 2016\n");
rdsize = write(fd,buf,strlen(buf)); //给已经打开的文件描述符写
close(fd);
return 0;
}
#if 0
不带缓存的IO
* 常见的 open,read,write,lseek,close
* 定义: 都调用内核的中的系统调用,就是公共库函数
*文件描述符:
* 是一个大于0的整数,当打开已有文件或创建成功时,由内核给进程返回一个文件描述符,文件描述符作为参数
* 传给如:write ,read .close 等
*注意《惯例》:
* 文件描述符fd[0],fd[1],fd[2],已经成为惯例,分别为标准输入,标准输出,标准错误,也就是说,
* 一个进程可以打开多个文件,而这三个默认是打开的,以后打开的文件描述符,只能追加在它的后面
* 每个进程都有自己的文件描述符
*
*进程表项:存储 文件描述符 以及 FILE * FILE *是指向一个存储了文件信息的结构体
*文件表项:就是这个结构体,里面有文件状态标志(包括读 写 ,同步),文件偏移量,指向节点的表项指针
*节点表项:包含i-node ,当前文件长度,所有者,等节点信息都在磁盘上
*
*
*
#endif
相关文章推荐
- Apostrophe not preceded by \ ...
- freopen读入/写出 数据 从/到 文件
- docker(二):简单的代码推送脚本
- 绝对详细!Nginx基本配置、性能优化指南
- 系统架构师成长之路(二)
- 20150410--Lnmp+Nginx-02
- ecshop当前会员等级距离下一等级差多少积分显示
- Centos 7 图形界面没有登录界面了
- 20150410--Lnmp+Nginx-01
- @staticmethod @classmethod @property使用【1】
- OpenCV将连续图片合成视频AVI
- opengl 法向量变换矩阵推导
- linux用户管理
- 网站真分页js代码该怎么写?
- property和descriptor的等价对比
- 网站的高性能架构---Web前端性能优化
- Linux命令缩写的解释
- CentOS 7 隐藏任务栏和顶栏
- 网站真分页js代码该怎么写?
- shell---------Debug模式