1
필자는이 문제에 착수했습니다. 불행하게도 "generate"라는 이중 문자를 인쇄하면 분명히 사용자가 말하는 숫자가되지만, 어떤 이유로 그 문자는 같은 방식으로 작동하지 않습니다. 이것은 유닉스 btw에 있습니다.사용자 입력이 인식되지 않지만 처음 숫자가 설정된 경우 프로그램이 작동합니다.
double generate;
int child1, child2, retval, first, second, next, c;
//generate = 10;
first = 1;
second = 1;
retval = pipe (pfd);
if (retval != 0) {
fprintf(stderr, "Pipe failed\n");
exit(0);
}
printf("Enter the number of Fibinachi numbers you'd like to generate: \n");
scanf("%d", &generate);
//printf("%d\n", generate);
child1 = fork();
if(child1 == 0)
{
child2 = fork();
if(child2 == 0)
{
printf("Im the child child \n");
for (c = 0; c < generate; c++)
{
if (c <= 1)
next = 1;
else
{
next = first + second;
first = second;
second = next;
}
write (pfd[WRITE_END], &next, sizeof(int));
}
}
else
{
printf("Im the child \n");
FILE * Output;
Output = fopen("data.txt", "w+");
for (c = 0; c < generate; c++)
{
read(pfd[READ_END], &next, sizeof(int));
fprintf(Output, "%d\n", next);
printf("%d\n", next);
wait(NULL);
}
}
}
else
{
printf("Hey, I am the Parent.\n");
}
exit(1);
나는 너무 행복하다. 그러나 동시에 나는 너무 좌절해서 그렇게 쉽게 고칠 수 없었다. – IamAxel
@ user3326322 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – Jeyaram
기다리는 중입니다. 4 분이 더 기다리는 중입니다. 그 때까지 대답으로 받아 들일 수 없다고합니다. – IamAxel