创建一对父子进程: 父进程负责向文件中写入 长方形的长和宽 子进程负责读取文件中的长宽信息后,计算长方形的面积
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <pthread.h>
#include <semaphore.h>
#include <wait.h>
#include <signal.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <semaphore.h>
#include <sys/msg.h>
#include <sys/shm.h>
#include <sys/un.h>
int main(int argc, const char *argv[])
{
const char *filename = "rectangle.txt";
FILE *file = fopen(filename, "w");
if (file == NULL)
{
perror("file");
return 1;
}
fprintf(file, "%d %d", 5, 10);
fclose(file);
pid_t pid = fork();
if (pid < 0)
{
perror("fork");
return 1;
}
else if (pid == 0)
{
FILE *file_child = fopen(filename, "r");
if (file_child == NULL)
{
perror("在子进程中打开文件时出错");
return 1;
}
int len, width;
fscanf(file_child, "%d %d", &len, &width);
fclose(file_child);
int area = len * width;
printf("子进程计算的长方形面积为: %d\n", area);
}
else
{
sleep(1);
}
return 0;
}