0

2 つの子を持つ 2 つの入力ファイルからの読み取りで問題に直面しています。2 つの子は、各ファイルから単語を交互に読み取り、親に送信して、次のように出力する必要があります。

input1: "私は本当に"

input2: 「バカです」

出力: 「私は本当に愚かです」

関数 open (読み取り用に入力ファイルを開くため) と read を使用してそれを行うにはどうすればよいですか? 子の「息子」関数 (子には 2 つの同様の関数があり、1 つは偶数の単語を読み取り、もう 1 つは奇数の単語を読み取ります) は次のようになります。

void son(char i_file, int p[2], int bro_pid){
    int c,fd=open("i_file", O_RDONLY, S_IWUSR);
    char buf;
    if(fd > 0){
        close(p[0]);
        while(c=read(i_file, buf, 1) == 1){   //Here should be a conditions to continue reading till EOF
            ....                 //I need your help here
            ....                
            write(p[1], buf, c); //Here i write in the pipe the word for the parent
            while(1){
                pause();         //The child will wait a signal from the parent before reading the next word
                break;          
            }
        }
    }else
        perror("Error opening file secondo figlio");
    close(fd);
    close(p[1]);
}

この問題で私を助けてくれますか? 助けてくれてありがとう。

編集: 演習を読み間違えました。2 つの異なる入力ファイルがあります。

4

0 に答える 0