Bir program yazarak, babanın kullanıcıdan bir sayıdaki faktörleri hesaplamak için numarayı eklemesini isteyin. Bu rakam factorial.c hesaplanırC Başka bir programın sonucu işlevler ve borular ile nasıl sonuçlanırım
Yani ben yapmanız gerekenler tahmin geçerli:
numarasını okumak ve sayısını hesaplamak -Factorial.c:
kullanıcıya bir numara sormak -Peder
sayı çıktı // 2 Pipe and Fork created
if(x == 0){ //Father
close(p1[0]);
write(p1[1],&number_by_keybord, BUFFER);
close(p1[1]);
close(p[1]);
dup2(p[0],0); //Read the number returned by factorial.c
read(p[0], &num_factorial,BUFFER);
printf("Pipe: factorial %d\n", num_factorial);
close(p[0]);
wait(NULL);
}else{
execlp("./factorial", "factorial", NULL);
perror("Exec error\n");
}
yönlendirmek için
musun bir dup2 hesaplanan bilgileri -Factorial.c 0
Ve şimdi factorial.c
void main(){
read(0,&num,sizeof(int));
//Number calculated
write(1,&result,sizeof(int));
return 0;
}
Ama programı donuyor yürütmek ya da sadece dup2 ile herhangi problema yoktur
hesaplama rastgele sayı koyduğunuzda? Doğru sonucu elde etmeyi tahmin ediyorum dup2 (, 0) yapmak zorundayım ve faktörel bir okuma ve yazma ihtiyacım var
Teşekkür ederiz!
Soru nedir? Burada herhangi bir soru görmüyorum. Sorular bir Soru İşaretiyle sona eriyor (***? ***) – abelenky
Sorunu çoğaltmak için yeterli kod göstermediniz. –
Geri kalan kod sadece bir yöntem oluşturmak için bir yöntem (sayı_by_keybord) ve bir factorial.c faktörü olarak hesaplamak için bir yol ... pip ve çatal oluşturmak için bir yöntemdir. factorial.c sonucunu almak için ... ama sanırım ihtiyacım yok. Sugestion? – Joseph