IO进程线程day4

作业:

利用文件IO函数拷贝图片。要求父进程拷贝前半部分,子进程拷贝后半部分。

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
 
/*
 * function:    复制图片
 * @param [ in] 
 * @param [out] 
 * @return      
 */
 
int main(int argc, const char *argv[])
{
    //打开文件
    int fd=open("./DSCN7970.JPG",O_RDONLY);
    if(fd==-1){
        puts("fd open failed");
        return -1;
    }
    int dest=open("./copy.JPG",O_WRONLY|O_CREAT|O_TRUNC,0664);
    if(dest==-1){
        puts("dest open failed");
        return -1;
    }
 
    //创建子进程,父进程拷贝前一半,子进程拷贝后一半
    int size=lseek(fd,0,SEEK_END);//获取总字节大小
    printf("size=%d\n",size);
    pid_t pid=fork();
    char c;
    //父进程
    if(pid>0){
        wait(NULL);
        lseek(fd,0,SEEK_SET);
        lseek(dest,0,SEEK_SET);
 
        puts("parent process copy start");
        for (int i=0; i

2.xmind

你可能感兴趣的:(c#)