шампунь себазол цена

Security Teams



:::
Страницы: (2) [1] 2  ( Перейти к первому непрочитанному сообщению ) Ответ в темуСоздание новой темыСоздание опроса

> Поиск в файле на C++, Реализация через консоль
Mail2k
  Дата 4.06.2007 - 11:47
Цитировать сообщение
Offline



Junior
*

Профиль
Группа: -users-
Сообщений: 38
Пользователь №: 3569
Регистрация: 7.06.2006



Рейтинг:
(0%) -----


Люди,подскажите пожалуйста.
Есть,допустим, txt файл c инфой. Нужно составить консольную программу,которая могла бы произвести поиск заданного мной слова и если это слово будет найдено, вырезать из файла и поместить в другой файл. Как можно реализовать это на C++?

PMПисьмо на e-mail пользователю
Top
Kom@nd'Or
Дата 4.06.2007 - 12:00
Цитировать сообщение
Offline



Expert
******

Профиль
Группа: -editors-
Сообщений: 2078
Пользователь №: 48
Регистрация: 2.03.2005



Рейтинг:
(90%) XXXXX


Я -бы разбил программу "на запчасти" ...

- открываю файл, ищу нужное.
- если нашёл, то вырезаю это слово.
- открываю второй файл.
- пишу в него вырезанное.
- при небходимости повтор.
- файлы закрываю.

что именно не получается?


--------------------
--
Hайден неизвестный драйвер, воткните какое-нибудь устройство!
---
[b]Во имя процесса-отца, процесса-сына и святаго root"а... Enter! [/b]
PMICQYahoo
Top
Mail2k
Дата 4.06.2007 - 12:58
Цитировать сообщение
Offline



Junior
*

Профиль
Группа: -users-
Сообщений: 38
Пользователь №: 3569
Регистрация: 7.06.2006



Рейтинг:
(0%) -----


Цитата (Kom@nd'Or @ 4.06.2007 - 12:00)
Я -бы разбил программу "на запчасти" ...

- открываю файл, ищу нужное.
- если нашёл, то вырезаю это слово.
- открываю второй файл.
- пишу в него вырезанное.
- при небходимости повтор.
- файлы закрываю.

что именно не получается?

Сама реализация поиска. Код программы интересует. я ещё новичек в С++.

Это сообщение отредактировал Mail2k - 4.06.2007 - 12:59
PMПисьмо на e-mail пользователю
Top
Kom@nd'Or
Дата 4.06.2007 - 13:52
Цитировать сообщение
Offline



Expert
******

Профиль
Группа: -editors-
Сообщений: 2078
Пользователь №: 48
Регистрация: 2.03.2005



Рейтинг:
(90%) XXXXX


1. - Читаешь файл до тех пор, пока не найдешь первый символ, совпадающий с нужным словом ... началом нужного символа.
- когда нашёл, читаешь вслед. символ, сравния с соотв. ...

2. В Паскале есть ф-ция поиска по строкам ... Если совпадение есть в результате у тебя будет позиция совпадиния ...

Подозреваю что подобное есть и в с++ (тоже новичёк ... )

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


--------------------
--
Hайден неизвестный драйвер, воткните какое-нибудь устройство!
---
[b]Во имя процесса-отца, процесса-сына и святаго root"а... Enter! [/b]
PMICQYahoo
Top
drmist
Дата 4.06.2007 - 14:56
Цитировать сообщение
Offline



Professional
*****

Профиль
Группа: -users-
Сообщений: 1165
Пользователь №: 222
Регистрация: 14.04.2005



Рейтинг:
(0%) -----


Если файл текстовый - можно читать построчно (fgets) и в каждой считанной строчке искать искомую подстроку (strstr).


--------------------
Когда нельзя еще больше хочется...
PMСайт пользователя
Top
Mail2k
Дата 4.06.2007 - 15:26
Цитировать сообщение
Offline



Junior
*

Профиль
Группа: -users-
Сообщений: 38
Пользователь №: 3569
Регистрация: 7.06.2006



Рейтинг:
(0%) -----


Ок! Спасибо! Попробую! wink.gif
PMПисьмо на e-mail пользователю
Top
parabelum
Дата 4.06.2007 - 19:38
Цитировать сообщение
Offline



Junior
*

Профиль
Группа: -users-
Сообщений: 20
Пользователь №: 4973
Регистрация: 21.02.2007



Рейтинг:
(0%) -----


Цитата (Mail2k @ 4.06.2007 - 11:47)
Люди,подскажите пожалуйста.
Есть,допустим, txt файл c инфой. Нужно составить консольную программу,которая могла бы произвести поиск заданного мной  слова и если это слово будет найдено, вырезать из файла и поместить в другой файл. Как можно реализовать это на C++?

Строим дерево ветвями которого есть строки(мож это и лишнее) и слова, ключами -- местоположение,

перебором ищем слово, удаляем нод, собираем файл, уря thumbup0.gif

----------------------------------
poster_o.gif
до-до, а также для повышения производительности используем B-деревья, для поиска по ключу используем хеширование

без оффтопов никак?
mad.gif
----------------------------------
PMПисьмо на e-mail пользователю
Top
WASABY
Дата 4.06.2007 - 22:33
Цитировать сообщение
Offline



.:EL TERRIBLE:.
******

Профиль
Группа: -editors-
Сообщений: 1794
Пользователь №: 144
Регистрация: 2.04.2005



Рейтинг:
(70%) XXXX-


Mail2k
для работы со строками может пригодится - https://www.intuit.ru/department/pl/c/13/5.html
по крайней мере до меня кое что дошло в строках


--------------------
Сознаю свою вину.
Меру, степень, глубину.
И прошу меня направить
на текущую войну.
Нет войны - я все приму:
ссылку, каторгу, тюрьму.
Но желательно в июле,
и желательно в Крыму.

(с) Л. Филатов
PMICQMSN
Top
Mail2k
Дата 17.06.2007 - 19:51
Цитировать сообщение
Offline



Junior
*

Профиль
Группа: -users-
Сообщений: 38
Пользователь №: 3569
Регистрация: 7.06.2006



Рейтинг:
(0%) -----


Искал на других форумах по этой теме.Много разных возможностей для реализации,но так и не понял до конца какой удобнее. Может,кто допишет?


#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{


FILE *f;
char x [];
char a [];
f=fopen ("text1.txt","r");
if (!f)
{printf ("File error");
exit(1);
}
scanf (f,"%s %s",&a);
fclose (f);

printf ("Enter your word");

cin>>x;


------Далее нужен код,осуществляющий поиск по tetx1.txt из введенного по запросу ------------



f=open ("text2.txt","w");
fprint (f,"%s %s",x);
fclose (f);
return 0;
}

Это сообщение отредактировал Mail2k - 17.06.2007 - 19:56
PMПисьмо на e-mail пользователю
Top
19841204
Дата 3.09.2007 - 10:23
Цитировать сообщение




Unregistered












pacani vi predlazili polnoe d..., tak kak esli fail bolse 4 GB uze na4netsa tormozna, lutse zagruzit ego 4erez MapViewOfFile i vse dalse toka nado zapustit funkciju strstr i ona vse naidet, plusi o4en bolsie:
1) mozno 4itat faili ogromnih razmerov a skorost ostaneca preznei
2) legko v realizacii

Это сообщение отредактировал 19841204 - 3.09.2007 - 10:24
Top

Опции темы Страницы: (2) [1] 2  Ответ в темуСоздание новой темыСоздание опроса