文件IO(无缓冲区操作)
1.文件IO是系统调用(POSIX、可移植操作系统接口、Unix)提供的
2.不能跨平台
3.没有缓冲机制
4.文件描述符(整型、数组下标)
打开文件
函数参数 1 :要打开的文件名(可以带路径)函数参数 2 :打开的方式O_RDONLY :只读O_WRONLY :只写O_RDWR :可读可写---------------------------------O_CREAT : 文件不存在则新建函数参数 3 :创建的文件的权限函数返回值:成功:打开文件的文件描述符,失败 -1 和错误码
关闭文件
函数参数:要关闭的文件描述符函数返回值:成功 0 , 失败返回 -1 和错误码
操作文件
read
函数参数 1 :从哪读函数参数 2 :读到哪函数参数 3 :读多少返回值:成功:读到的数,失败: -1 和错误码
write
函数参数1:要给谁写
函数参数 2 :写的啥函数参数 3 :写多少函数返回值:成功:返回成功写入的个数,失败返回 -1 和错误码
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
int main(int argc, const char *argv[])
{
int fr,fw;
char buf[20] = {'\0'};
//打开文件
fr = open(argv[1],O_RDONLY);
fw = open(argv[2],O_WRONLY|O_CREAT,0777);
//操作文件
while(1)
{
memset(&buf,'\0',sizeof(buf));
int ret = read(fr ,&buf,sizeof(buf));
if (!ret)
{
break;
}
write(fw,&buf,sizeof(buf));
}
//关闭文件
close(fr);
close(fw);
return 0;
}