Jack.watts Geschrieben 9. Februar 2023 Teilen Geschrieben 9. Februar 2023 Diese Funktion akzeptiert die Anzahl der Terme in der Fibonacci-Folge im untergeordneten Prozess, erstellt ein Array und leitet die Ausgabe per Pipe an den übergeordneten Prozess um. Eltern müssen warten, bis das Kind die Fibonacci-Reihe entwickelt hat. Der empfangene Text zeigt immer -1 an, obwohl der gesendete Text die Anzahl der eingegebenen Zahlen *4 anzeigt, was akzeptabel ist. #include<stdio.h> #include<unistd.h> #include<sys/types.h> #include<string.h> int* fibo(int n) { int* a=(int*)malloc(n*sizeof(int)); *(a+0)=0; *(a+1)=1; int i; for(i=0;i<n-2;i++) { *(a+i+2)=*(a+i)+(*(a+i+1)); } return a; } int main() { int* fib; int fd[2]; pid_t childpid; int n,nb; int k=pipe(fd); if(k==-1) { printf("Pipe failed"); return 0; } childpid=fork(); if(childpid == 0) { printf("Enter no. of fibonacci numbers"); scanf("%d",&n); fib=fibo(n); close(fd[0]); nb=(fd[1],fib,n*sizeof(int)); printf("Sent string: %d \n",nb); exit(0); } else { wait(); close(fd[1]); nb= read(fd[0],fib,n*sizeof(int)); printf("Received string: %d ",nb); } return 0; } Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
morphing Geschrieben 9. Februar 2023 Teilen Geschrieben 9. Februar 2023 vor 2 Stunden schrieb Jack.watts: Diese Funktion akzeptiert die Anzahl der Terme in der Fibonacci-Folge im untergeordneten Prozess, erstellt ein Array und leitet die Ausgabe per Pipe an den übergeordneten Prozess um. Eltern müssen warten, bis das Kind die Fibonacci-Reihe entwickelt hat. Der empfangene Text zeigt immer -1 an, obwohl der gesendete Text die Anzahl der eingegebenen Zahlen *4 anzeigt, was akzeptabel ist. Das find ich super! Special List reagierte darauf 1 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge