[Linux文件]使用read函数从文件读取数据的实例
//这是一个使用read函数把目标文件中数据读出写入到另外一个文件中的实例//待读出数据文件由argv1参数给,待写入数据文件由argv2给出#include<fcntl.h>#include<unistd.h>#include<stdio.h>#definePERMS0666#defineDUMMY0#defineMAXSIZE1024//常数定义intmain(intargc,char*argv[]){intsourcefd,targetfd;//目标文件和源文件的描述符intreadCounter=0;//读出的字符计数器charWRBuf[MAXSIZE];//读写缓冲区if(argc!=3)//如果命令行参数不争取正确{printf("Plzinputthecorrectfilenameas'./exam311ReadFunfilename1filename2'\n");return1;}if((sourcefd=open(*(argv+1),O_RDONLY,DUMMY))==-1)//如果源文件打开失败{printf("Sourcefileopenerror!\n");return2;}if((targetfd=open(*(argv+2),O_WRONLY|O_CREAT,PERMS))==-1)//如果目标文件打开失败{printf("Targetfileopenerror!\n");return3;}while((readCounter=read(sourcefd,WRBuf,MAXSIZE))>0)//如果读出来的数据大于0{if(write(targetfd,WRBuf,readCounter)!=readCounter)//如果写入的数据和读出的数据不同{printf("Targetfilewriteerror!\n");//写数据错误return4;}}close(sourcefd);//关闭源文件close(targetfd);//关闭目标文件return0;}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。