Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Весло
0 / 0 / 0
Регистрация: 20.04.2011
Сообщений: 12
#1

Поиск текста в файле - C++

18.05.2011, 03:12. Просмотров 956. Ответов 9
Метки нет (Все метки)

Требуется написать программу, которая находит в директории файлы с определенным текстом(точнее словом), набранным в другом файле, при этом найденные файлы (в которых имеется найденное слово) необходимо скопировать в подкаталог.

я - новичек, стыдно опозорится, но насколько поняла в начале нужно использовать ф-цию scandir из библиотеки stdio.h, и получив массив из файлов папки использовать цикл и для каждого элемента массива(файла) нужно открыть его командой fopen, а дальше использовать команду strstr и искать содержимое поочередно в файлах, и if true (совпадение - находит слово) - то команда fcopy.
но не имею понятия как это реализовать(( что не пробовала, везде ошибки выбивает.помогите пожалуйста, подойдет код как для Visual C++ 6 так и для Builder 6.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2011, 03:12     Поиск текста в файле
Посмотрите здесь:

Поиск текста в файле - C++
Добрый день. задача: находить в текстовом файле введенный с клавиатуры текст и в дальнейшем копировать строку в которой нашлось...

Поиск и замена текста в файле - C++
Добрый день. Хочу попробовать написать программу, которая будет выполнять поиск и замену заданного текста в файле. Подскажите,...

Поиск текста в файле и копирование его в другой - C++
Здравствуйте. Может кто нибудь подсказать как это сделать? Нужно найти в текстовом файле A все слова с буквой "Й" скопировать...

Поиск текста в файле между двумя данными словами - C++
Привет всем. Подскажитье, как можно найти текст (неизвезный) между двух извесных слов в файле? Например: вася/давно.курит - Мы знаем...

Как в среде VISUAL C++ 2008 осуществлять поиск текста в файле WORD ? - C++
Здравствуйте ! Подскажите, пожалуйста, как в среде VISUAL C++ 2008 осуществлять поиск текста в файле WORD ? Нужно найти строку в...

Поиск в текстовом файле слова и вывод блока текста, в котором оно встретилось - C++
Здравствуйте! Подскажите пожалуйста как будет выглядеть код мне нужно реализовать поиск по txt файлу в котором записана информация о...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Форумчанин
Эксперт С++
4479 / 2841 / 227
Регистрация: 12.12.2009
Сообщений: 7,224
Записей в блоге: 1
Завершенные тесты: 1
18.05.2011, 06:10     Поиск текста в файле #2
scandir из библиотеки stdio.h
Это в Unix/Linux.
Весло
0 / 0 / 0
Регистрация: 20.04.2011
Сообщений: 12
18.05.2011, 15:17  [ТС]     Поиск текста в файле #3
как же тогда быть, если я запускаю в винде в вижуал С++ или билдере 6?
igorrr37
1641 / 1269 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
18.05.2011, 18:22     Поиск текста в файле #4
можно через winapi сделать, или через boost::filesystem

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<iostream>
#include<string>
#include<boost/filesystem/operations.hpp>
#include<iterator>
#include<fstream>
using namespace boost::filesystem;
 
int main(){
    path p="c:\\myFolder\\", p1="c:\\myFolder1\\"; //где искать и куда копировать
    if(!exists(p)||!exists(p1)){std::cerr<<"Folder not found"; return -1;}
    directory_iterator it(p), endIt;
    std::string sFind="data"; // слово
    for(; it!=endIt; ++it){
        if(!is_directory(*it)){
            std::fstream fs(it->string().c_str());
            if(!fs){std::cerr<<"Error\n"; return -2;}
            std::string s((std::istreambuf_iterator<char>(fs)), std::istreambuf_iterator<char>());
            fs.close();
            if(s.find(sFind)!=std::string::npos){
                copy_file(*it, p1/it->leaf());
                std::cout<<*it<<"\n";
            }
        }
    }
    return 0;
}
Весло
0 / 0 / 0
Регистрация: 20.04.2011
Сообщений: 12
18.05.2011, 20:14  [ТС]     Поиск текста в файле #5
Спасибо Вам большое! а в чем Вы компилировали?
igorrr37
1641 / 1269 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
18.05.2011, 20:41     Поиск текста в файле #6
IDE может быть любая(например Code::blocks) плюс должна быть установлена библиотека Boost
Весло
0 / 0 / 0
Регистрация: 20.04.2011
Сообщений: 12
18.05.2011, 21:59  [ТС]     Поиск текста в файле #7
я прошу прощения, но вопрос: скачала ваш IDE и Boost, ноне знаю как установить эту библиотеку, чтобы компилировало...(
igorrr37
1641 / 1269 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
18.05.2011, 22:54     Поиск текста в файле #8
насчёт сборки смотрите статьи в интернете
Весло
0 / 0 / 0
Регистрация: 20.04.2011
Сообщений: 12
19.05.2011, 00:40  [ТС]     Поиск текста в файле #9
ребята, а кто знает как через WinApi реализовать?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2011, 19:23     Поиск текста в файле
Еще ссылки по теме:

Замена текста в файле - C++
У меня есть программа которая записывает написанный в консоли текст в файл. Но мне нужно заменить некоторое количество текста начиная с...

Шифрование текста в файле - C++
проблема в то что в процессе работы программа должна считывать текст в файле и кодировать его. Прога работает нормально,т.е. кодирует...

Фильтрация текста в файле - C++
Задача вот в чём: Имеется файл с тестовыми данными, некоторые данные повторяются в этом файле, необходимо написать программу, которая...

Удаление текста в бинарном файле - C++
Пишу на C. Создаю бинарный файл. Записываю в него данные, например, 12345 Мне нужно удалить определенный символ, например 3. С помощью...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Весло
0 / 0 / 0
Регистрация: 20.04.2011
Сообщений: 12
20.05.2011, 19:23  [ТС]     Поиск текста в файле #10
а реально ли написать код без использования boost'a или WinApi. Если кто знает, помогите пожалуйста кодом. Преподаватель потребовал код без использования этих библиотек(
Yandex
Объявления
20.05.2011, 19:23     Поиск текста в файле
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru