C语言中,fork的次数,stdout的行数,malloc的大小的控制,好的追加分
发布网友
发布时间:2022-05-30 17:52
我来回答
共2个回答
热心网友
时间:2023-10-24 15:10
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
#include <sys/types.h>
int main()
{
int fd[2];
pid_t pid;
FILE *fp;
if(pipe(fd)<0)exit(1);
if((pid=fork())<0)exit(1);
else if(pid){//parent
close(fd[1]);
if((fp=fdopen(fd[0],"r"))==NULL)exit(0);
for(int ch,i=0;i<100;i++){
ch=0;
while(ch!='\n')fputc(ch=fgetc(fp),stdout);
}
kill(pid,SIGKILL);
}else{//child
close(fd[0]);
p2(fd[1],STDOUT_FILENO);
close(fd[1]);
execl("stdout100",0);
}
}
热心网友
时间:2023-10-24 15:11
不明白你什么意思。
就自己计数输出了100行就自己return或者exit不就行了吗?