1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Посчитать размер Pipe

Тема в разделе "Вопросы новичков и не только", создана пользователем IceB, 4 фев 2010.

  1. IceB

    IceB Гость

    Репутация:
    0
    Помогите пожалуйста довести код!

    Код:
    #include <sys/types.h>
    #include <fcntl.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    
    int fsize(int fd[]){
    
    char k[1000000], k1[1000000];
    int i, size, size1;
    i = 0; size = 0;
    while(i==size){
    k[i]='1';
    i++;
    size = write(fd[1], k, i);
    if(size =! i){
    printf("Can't write all string\n");
    return i;
    _exit;
    }
    size1 = read(fd[0], k1, i);
    if(size1 < 0){
    printf("Can't read all string\n");
    return 12345;
    _exit;
    }
    }
    }
    
    int main(){
    int fd[2];
    
    if(pipe(fd) < 0){
    printf("Can't create pipe\n");
    _exit;
    }
    printf("Size = %d\n", fsize(fd));
    if(close(fd[0]) < 0)
    printf("Can't close input stream\n");
    if(close(fd[1]) < 0)
    printf("Can't close output stream\n");
    //	 printf("%s\n",str);
    return 0;
    }
     
Загрузка...

Поделиться этой страницей