流程: 1. 判断两个参数是否一样,一样的话,抛错 if ( strcmp(av[1], av[2]) == 0 ){ fprintf(stderr,“cp: `%s' and `%s' are the same file.\n”, av[1], av[2]); exit(1); } 2. 打开第一个文件,创建第二个文件 if ( (in_fd=open(av[1], O_RDONLY)) == -1 ) oops(“Cannot open ”, av[1]); if ( (out_fd=creat( av[2], COPYMODE)) == -1 ) oops( “Cannot creat”, av[2]); 3. 从第一个文件读数据,写入第二个文件 while ( (n_chars = read(in_fd , buf, BUFFERSIZE)) > 0 ) if ( write( out_fd, buf, n_chars ) != n_chars ) oops(“Write error to ”, av[2]); 4. 关闭文件 close(in_fd); close(out_fd); |