Я пытаюсь открыть файл с родителем, затем отправить его ребенку.Я хочу, чтобы ребенок искал определенное слово и отправил строку из текстового файла обратно родителю.
С моим Кодом прямо сейчас я могу отправить текстовый файл детям, но я не могу проверить файл иотправить его обратно родителю.
int fd[2];
pid_t cpid;
pipe(fd);
if ((cpid = fork()) == -1)
{
cout << "ERROR" << endl;
exit(1);
}
// child process
if (cpid == 0)
{
// don't need the write-side of this
close(fd[WRITE_FD]);
std::string s;
char ch;
while (read(fd[READ_FD], &ch, 1) > 0)
{
if (ch != 0)
s.push_back(ch);
else
{
//std::cout << s << " "; //'\n'; //print the txt
while(getline(s, ch, '.'))
{
printf("%s\n", toSend.c_str());
}
s.clear();
}
}
// finished with read-side
close(fd[READ_FD]);
}
// parent process
else
{
// don't need the read-side of this
close(fd[READ_FD]);
fstream fileWords ("words.txt");
string toSend;
while (fileWords >> toSend)
{
// send word including terminator
write(fd[WRITE_FD], toSend.c_str(), toSend.length()+1);
}
// finished with write-side
close(fd[WRITE_FD]);
wait(NULL);
}
return EXIT_SUCCESS;