IO进程线程day4

int main(int argc, const char *argv[])
{
	int fd = open("./11.png",O_RDONLY);
	if(fd<0)
	{
		perror("open");
		return -1;
	}

	int fd_w = open("./22.png",O_WRONLY|O_CREAT|O_TRUNC);
	if(fd<0)
	{
		perror("open");
		return -1;
	}

	pid_t cpid=fork();

	char buf[128]="";
	ssize_t res=0;
	off_t size=lseek(fd,0,SEEK_SET);

	if(cpid>0)
	{
		bzero(buf,sizeof(buf));
		res=(fd,buf,sizeof(buf));
		if(size/2==res)
			break;
		write(fd_w,buf,res);
	}
	else if(0==cpid)
	{
		sleep(1);
		bzero(buf,sizeof(buf));
		res=(fd,buf,sizeof(buf));
		off_t size=lseek(fd,size/2,SEEK_SET);
		if(0==res)
			break;
		write(fd_w,buf,res);

	}
	else
	{
		perror("fork");
		return -1;
	}

	while(1)
		sleep(1);

	close(fd);
	close(fd_w);
	return 0;
}

你可能感兴趣的:(嵌入式硬件)