В этой программе не работает scanf. Элемент управления переходит к потомку, а затем он выполняет scanf, но на самом деле я хочу передать fileName от родителя к потомку, но родитель не выполняет scanf. и управление напрямую переходит к дочернему процессу
int Parent_Child[2];
int Child_Parent[2];
char FileName_P[50];
char FileName_C[50];
pipe(Child_Parent);
pipe(Parent_Child);
if(fork()> 0)
{
printf("\n\n***************Parent***************");
close(Parent_Child[Read]);
printf("\n\n Enter FileName : ");
scanf("%s" , FileName_P);
write(Parent_Child[Write] , FileName_P , strlen(FileName_P));
close(Parent_Child[Write]);
wait(NULL);
}
else
{
printf("\n\n***************Child***************");
close(Parent_Child[Write]);
read(Parent_Child[Read] , FileName_C , strlen(FileName_P));
close(Parent_Child[Read]);
printf("\n\n Child got the File %s " , FileName_C);
}