2013-09-21 4 views
0

Я пишу переменный ток программу, включающую связь между ребенком и родителем, путем направленного трубыКаждый необъявленный идентификатор сообщается только один раз?

Вот часть моего кода:

char writemsg[BUFFER_SIZE] = "Sugar Lover"; 
    char readmsg[BUFFER_SIZE]; 
    char parrecieve[BUFFER_SIZE]; 
    char childrecieve[BUFFER_SIZE+1]; 
    int fd[2]; 
    int fd2[2]; 
    pid_t pid; 

    if (pipe(fd) == -1|| pipe(fd2) == -1) { 
    printf("Pipe failed"); 
    return 1; 
    } 
    pid = fork(); 
    if (pid < 0) { /* error occurred */ 
    printf("Fork Failed"); 
    return 1; 
    } 

    if (pid > 0) { /* parent process */ 
    int i =0; 
    close(fd[READ_END]);/* close the unused end of the pipe */ 
    while(writemsg[i] !='\0'){ 
     write(fd[WRITE_END],&writemsg[i] , sizeof(char)); 
     i++; 
    } 
    close(fd[WRITE_END]); 
    i = 0; 
    close(fd2[WRTIE_END]); 
    while(read(fd2[READ_END], &parrecieve[i], sizeof(char))!=0){ 
     printf("%c", parrecieve[i]); 
     i++; 

    } 

    close(fd2[READ_END]); 


    } 

Он жалуется этой линией при компиляции:

close(fd2[WRTIE_END]); 
Мог

кто-нибудь скажет мне, почему? Спасибо!

+0

Описательные названия FTW! –

ответ

2

переименования WRTIE_END в WRITE_END;)

сообщения об ошибках чтения более тщательно и попытаться понять их

+1

Yea .. программировал часами и теперь слишком устал, чтобы найти опечатку самостоятельно :(Спасибо tho! –

+0

@NobWong: это происходит :) больше опыта у вас есть, более очевидным некоторые вещи становятся :) –

Смежные вопросы