|
289 / 34 / 6
Регистрация: 20.09.2011
Сообщений: 464
|
||||||
Количество слов в файле10.04.2014, 16:30. Показов 3007. Ответов 11
Метки нет (Все метки)
В программе на Си есть необходимость узнать количество слов в файле.
В консоле данную задачу можно решить при помощи команды:
0
|
||||||
| 10.04.2014, 16:30 | |
|
Ответы с готовыми решениями:
11
Количество слов в файле
|
|
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
|
||
| 10.04.2014, 17:46 | ||
![]() А способы реализации, конечно, есть. 1. Кустарный - через system вызывается "wc file -w > tmpfie", потом читается временный файл. 2. Стандартный а) создаются каналы обмена (pipe) б) вызываtтся fork() в) в дочерней программе перенавравляется stdout в созданный pipe_out через вызов dup2() г) в дочернем процессе вызывается что-то из семейства exec ("wc ...",.....) д) в основной программе читаются данные с другого конца канала. е) все неиспользованные, п потом и использованные дискрипторы каналов закрываются во всех процессах.
0
|
||
|
209 / 183 / 114
Регистрация: 15.03.2014
Сообщений: 398
|
||||||
| 10.04.2014, 18:34 | ||||||
Сообщение было отмечено Памирыч как решение
Решение
galaid, нужно оценить все плюсы и минусы в конкретной Вашей ситуации.
С одной стороны - написать самому хорошее решение. С другой стороны использовать готовый функционал утилиты wc - тоже неплохо. Вот вариант с использованием утилиты wc
Начало 13 главы - Связь между процессами: каналы.
0
|
||||||
|
289 / 34 / 6
Регистрация: 20.09.2011
Сообщений: 464
|
|
| 10.04.2014, 18:41 [ТС] | |
|
Спасибо за ответы. Наверное все таки напишу функцию...
0
|
|
|
289 / 34 / 6
Регистрация: 20.09.2011
Сообщений: 464
|
|||||||
| 18.04.2014, 16:46 [ТС] | |||||||
|
Кликните здесь для просмотра всего текста
Возникла проблема. Тестировал функцию на двух каталогах: /etc и /usr. Так вот, для первого каталога результат нормальный (сходится с wc), но для второго каталога результат неверный. Функция для него возвращает количество слов большее, чем wc. Скажите в чем проблема?
0
|
|||||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,780
|
||
| 18.04.2014, 17:08 | ||
|
0
|
||
|
289 / 34 / 6
Регистрация: 20.09.2011
Сообщений: 464
|
|
| 18.04.2014, 19:08 [ТС] | |
|
korvin_, Ubuntu 12.04.
С int64_t аналогичный результат.
0
|
|
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,780
|
|
| 19.04.2014, 12:13 | |
|
А покажи как ты вызывал программы для тестирования.
0
|
|
|
289 / 34 / 6
Регистрация: 20.09.2011
Сообщений: 464
|
||
| 19.04.2014, 12:27 [ТС] | ||
|
Результат перенаправил в текстовый файл, где каждая строка представляет собой: путь к файлу и кол-во слов в нем. Сначала тестировал для /etc. Выбирал рандомные файлы из моего файла и сверял с wc. Результат сходился. Для /usr почему-то нет. Заметил, что ошибка в подсчете наблюдается только в бинарных файлах (хотя может быть и еще где-нибудь).
0
|
||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,780
|
||||||
| 19.04.2014, 12:41 | ||||||
|
Ага
0
|
||||||
|
431 / 385 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
|
|
| 20.04.2014, 10:33 | |
|
0
|
|
| 20.04.2014, 10:33 | |
|
Помогаю со студенческими работами здесь
12
Посчитать и вывести на экран количество слов в файле, первую половину слов вывести в другой файл Количество слов в файле! Количество слов в файле Количество слов в файле. С++ Посчитать количество слов в файле Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|