全部博文(395)
分类: C/C++
2011-05-21 11:38:16
注:记得学习open,read,write函数已经是半年以前的事情了,可是一直没有自己编过,这次是一个网友除了问题,让我看看,他出现了问题,说是会overflow可是我没有呀(不过后来发现是她是在ubuntu下,用的普通用户,没有权限,呵呵),也不知道咋回事的,很正常,下面是代码和运行时的过程
#include "stdio.h"
#include "stdlib.h"
#include "fcntl.h"
#include "sys/types.h"
#include "sys/stat.h"
int main(void){
int fp1,fp2;
int size;
char buffer[80];
if((fp1=open("abc.txt",O_RDONLY))<0){
printf("this file is not exit!");
exit(0);
}
else
printf("file open success\n");
if((fp2=open("cd.txt",O_WRONLY|O_CREAT))<0){
printf("overflow!");
exit(0);
}
else
printf("file creat success\n");
while(size=read(fp1,buffer,sizeof(buffer))){
write(fp2,buffer,size);
}
close(fp1);
close(fp2);
}
[root@bogon tmp]# ls
abc.txt file file.c
[root@bogon tmp]# ./file
file open success
file creat success
[root@bogon tmp]# ls
abc.txt cd.txt file file.c
[root@bogon tmp]# cat abc.txt
zhangzhengzhouqingogne xueyuan
[root@bogon tmp]# cat cd.txt
zhangzhengzhouqingogne xueyuan
[root@bogon tmp]#