|
289 / 34 / 6
Регистрация: 20.09.2011
Сообщений: 464
|
||||||
Количество слов в файле10.04.2014, 16:30. Показов 3013. Ответов 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
Посчитать и вывести на экран количество слов в файле, первую половину слов вывести в другой файл Количество слов в файле! Количество слов в файле Количество слов в файле. С++ Посчитать количество слов в файле Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|