Если создать pipe не удалось,
/* Программа 05-2.с, иллюстрирующая работу с pip'ом в рамках одного
процесса */
#include
#include
#include
int main(){
int fd[2];
size_t size;
char string[] = "Hello, world!";
char resstring[14];
/* Попытаемся создать pipe */
if(pipe(fd) < 0){
/* Если создать pipe не удалось, печатаем об этом сообщение
и прекращаем работу */
printf("Can\'t create pipe\n");
exit(-1);
}
/* Пробуем записать в pipe 14 байт из нашего массива, т.е. всю
строку "Hello, world!" вместе с признаком конца строки */
size = write(fd[1], string, 14);
if(size != 14){
/* Если записалось меньшее количество байт, сообщаем об
ошибке */
printf("Can\'t write all string\n");
exit(-1);
}
/* Пробуем прочитать из pip'а 14 байт в другой массив, т.е. всю
записанную строку */
size = read(fd[0], resstring, 14);
if(size < 0){
/* Если прочитать не смогли, сообщаем об ошибке */
printf("Can\'t read string\n");
exit(-1);
}
/* Печатаем прочитанную строку */
printf("%s\n",resstring);
/* Закрываем входной поток*/
if(close(fd[0]) < 0){
printf("Can\'t close input stream\n");
}
/* Закрываем выходной поток*/
if(close(fd[1]) < 0){
printf("Can\'t close output stream\n");
}
return 0;
}
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий