{
int pic1,pic2; //定义源图片文件和目的图片文件的文件描述符 char buff[maxsize]; //定义一次从文件读字符的最大数 int i;
if(argc!=3) //如果命令格式不正确 {
printf(\exit(1); }
//以只读的方式打开源文件 pic1=open(argv[1],O_RDONLY); if(pic1==-1) {
printf(\exit(1); }
pic2=open(argv[2],O_WRONLY|O_CREAT|O_APPEND);//以追加的方式创建目的文件
if(pic2==-1) {
printf(\exit(1); }
while(1) {
i=read(pic1,buff,maxsize); write(pic2,buff,i);
//如果读到的字节数不是希望的bufsize,结束文件读写 if(i!=maxsize) break; }
close(pic1); close(pic2); }
测试:事先在程序目录下存储一张测试图片picture1.jpg。
将该代码保存为piccopy.c在Ubuntu中编译:
gcc piccopy.c -o piccopy 运行:
./piccopy picture.1 picture2.jpg
运行结束后即复制了一张与picture1一样的图片picture2.jpg