|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.04.2010, 21:25 | #1 |
Форумчанин
Регистрация: 16.08.2008
Сообщений: 276
|
FIFO файлы
Доброго времени суток уважаемые эксперты.
Разбираюсь с FIFO файлами в Linux, и наткнулся на одну проблему Реализовал такую вещь: две программы (главная и дочерняя). При запуске, главная программа создает FIFO файл и ожидает подключения к нему дочернего приложения. После подключения дочерней программы, главная поочередно передает в FIFO файл 3 строки. Дочерняя принимает строки, выводит их на экран, и ищет самую длинную из них. Теперь вопрос: в главной программе пишу вот так: Введите строку: HelloWorld Введите строку: Clear Введите строку: HelpMe На выходе дочернего приложения получаю так: Размер буфера: 512 Пришла строка: HelloWorld Пришла строка: ClearWorld Пришла строка: HelpMeorld Самая длиная строка: HelloWorld Сперва грешил на то, что при передаче, в строке нет '\0', но, после каждого ввода/вывода я заполнял строку '\0' - не помогло Теперь подозреваю то, что где-то существует промежуточный буфер, который не очищается. Вот как-то так. Код прилагается: Главная программа: Код:
Код:
Искусственный интеллект - фигня по сравнению с естественной глупостью
|
26.04.2010, 00:33 | #2 |
Пользователь
Регистрация: 06.11.2009
Сообщений: 68
|
Вашу основную программу можно оставить без изменений.
Дочернюю же программу предлагаю дополнить так: Код:
|
26.04.2010, 09:07 | #3 |
Unix C++ developer
Форумчанин
Регистрация: 16.04.2007
Сообщений: 651
|
А кто будет освобождать выделенную память?
+ strdup может вызывать дополнительные утечки памяти. |
26.04.2010, 10:20 | #4 |
Пользователь
Регистрация: 06.11.2009
Сообщений: 68
|
oleg kutkov,
Если вы это мне, то возлагаю эту ответственность на топикстартера))) Я сделал так, чтобы строки правильно считывались и выводились на экран. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
файлы | Scofield8 | Фриланс | 7 | 05.02.2010 15:48 |
файлы в Си | серг | Общие вопросы C/C++ | 11 | 03.02.2010 19:23 |
Файлы | dragun4ik | Помощь студентам | 1 | 01.02.2010 21:56 |
Файлы. | BR@BUS | Помощь студентам | 5 | 09.04.2008 19:35 |
два вредных вопроса:про асю и прикриплёные файлы файлы | steck | Свободное общение | 3 | 17.06.2007 14:53 |