今日作业:使用文件IO 实现父进程向子进程发送信息,并总结中间可能出现的各种问题
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <fcntl.h>
#include <unistd.h>
int main(int argc, const char *argv[])
{
pid_t res=fork();
if(res>0)
{
int fd1=open("./test.c",O_CREAT|O_WRONLY|O_TRUNC,0664);
if(fd1==-1)
{
perror("open1");
return -1;
}
char str[50]={0};
puts("输入字符");
gets(str);
ssize_t w=write(fd1,str,50);
if(w==-1)
{
perror("write");
return -1;
}
close(fd1);
}else if(res==0)
{
sleep(3);
int fd2=open("./test.c",O_RDONLY);
if(fd2==-1)
{
perror("open2");
return -1;
}
char str1[50]={0};
ssize_t r=read(fd2,str1,50);
if(r==-1)
{
perror("read");
return -1;
}
puts(str1);
close(fd2);
}else if(res==-1)
{
perror("fork");
return -1;
}
return 0;
}