Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Может кто нибудь обьяснить как работает программа?

Clover Профи (726), закрыт 5 лет назад
#include
#include
#include
#include
int main() {
int fd[2], fd1[2], result;
size_t size, size1;
char string[15], string1[15];
if(pipe(fd)<0){
printf("Can\'t create pipe1");
exit(-1);
}
if(pipe(fd1)<0) {
printf("Can\'t create pipe2");
exit(-1);
}
result=fork();
if(result>0){
size=write(fd[1],"Hi, student1!\n",15);
size1=read(fd1[0],string,15);
printf("%s", string);
if(size1!=15) {
printf("Can\'t read string");
exit(-1);
}
close(fd[1]);
close(fd1[0]);
}
if(result==0) {
size=read(fd[0],string1,15);
size1=write(fd1[1],"Hi, student2!\n",15);
printf("%s", string1);
if(size!=15) {
printf("Can\'t read string");
exit(-1);
}
close(fd[0]);
close(fd1[1]);
}
return 0;
}
Лучший ответ
Валера Казбеков - Казахстан Просветленный (33477) 5 лет назад
если щас тебе программисты не ответят задай ещё раз вопрос позже
Батаев ДмитрийПросветленный (22180) 5 лет назад
Это линукс. Создание процессов и ход их выполнения
Батаев ДмитрийПросветленный (22180) 5 лет назад
Как нагуглил - это создание двух процессов. Один процесс записывает "Hi, student2!\n",15, а другой читает и наоборот. Они обмениваются строкой и её длиной, контролируя результат чтения/записи. Общий смысл
Валера Казбеков - Казахстан Просветленный (33477) ну это не мне надо было ответить а автору вопроса же
Остальные ответы
Батаев Дмитрий Просветленный (22180) 5 лет назад
Как нагуглил - это создание двух процессов. Один процесс записывает "Hi, student2!\n",15, а другой читает и наоборот. Они обмениваются строкой и её длиной, контролируя результат чтения/записи. Общий смысл
CloverПрофи (726) 5 лет назад
а в вот этом куске result=fork();
if(result>0){
size=write(fd[1],"Hi, student1!\n",15);
size1=read(fd1[0],string,15);
printf("%s", string);
if(size1!=15) {
printf("Can\'t read string");
exit(-1);
типо родитель записывает в pipe дочерний строку, а считывает тогда кто? Ребенок?
Батаев Дмитрий Просветленный (22180) Я так понял кто первый тот и папа
Похожие вопросы