Я пытаюсь заставить две программы взаимодействовать друг с другом через канал для ввода с сервера.
Конечная цель - отправить текст с сервера, чтобы «верификатор» мог проверить поТекстовый файл с запрещенными словами.
До сих пор я создал канал для отправки информации на стандартный вывод
Server.c
if(mkfifo("FIFO_TEST", 0777) == -1){
perror("\nmkfifo ERROR");
unlink("FIFO_TEST");
exit(EXIT_FAILURE);
}
write(1, "Ola Adeus Daniel Francisco ##MSGEND##", MAX_STRING);
И сделал так, чтобы другая программачитает все, что исходит из стандартного ввода, заканчивающегося "## MSGEND ##", и, если он обнаруживает запрещенные слова, он печатает, сколько было найдено. (Я ничего не могу изменить в этом verifyier.c)
Verifier.c
while (!feof(stdin)) {
if (scanf("%s", word)<0)
continue;
if (!strcmp(word,"##MSGEND##")) {
printf("%d\n",numhits);
fflush(stdout);
numhits = 0; /* restart counting */
justprinted = 1;
}
else {
numhits += checkWord(word, forbwords, numw);
justprinted = 0;
}
}
Я запускаю верификатор в фоновом режиме, чтобы он перехватывал все написанное, но это некажется, не признает это.