创建一对父子进程:
父进程负责向文件中写入 长方形的长和宽
子进程负责读取文件中的长宽信息后,计算长方形的面积
int main(int argc, const char *argv[])
{
int retval=fork(); //创建进程,返回值给retval
if(retval>0){ //父进程返回值是 PID 进程号
// 使用文件io 方式,创建TXT文件写入权限
int wfd=open("./text.txt",O_WRONLY | O_CREAT | O_TRUNC,0666);
int arr[2]={0}; //使用数组方便 区分 长宽
printf("请输入长和宽:"); //终端提示文字
scanf("%d %d",arr,arr+1); //分别赋值
while(getchar()!='\n'); //接收垃圾信息
write(wfd,arr,sizeof(arr)); //写入文件里
close(wfd); //关闭文件
sleep(3); //休眠等待 3 秒
}
else if(retval==0){
sleep(3); //休眠等待 3秒,方便父级写入文件
int arr[2]={0}; //创建数组,方便赋值
int rfd=open("./text.txt",O_RDONLY); //用文件io 方式读取内容
read(rfd,arr,sizeof(arr)); //开始读取
int a=arr[0]*arr[1]; //计算面积
printf("长度%d 宽度%d 面积%d\n",arr[0],arr[1],a); //标准输出
close(rfd); //关闭文件
}
else if(retval==-1){ //判断进程创建失败
perror("fork"); //打印失败错误原因
}
return 0;
}