Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
scream1905
Зарегистрирован: 04.12.2006 Сообщения: 2
|
Добавлено: Пн Дек 04 2006 01:42 Заголовок сообщения: Поиск в текстовом файле |
|
|
Выручите, плз.
Очень нужна прога на С++, которая после введения с клавиатуры слова выполняет поиск его в текстовом файле и выдает на экран сообщение о результате..
очень-очень надо.. |
|
Вернуться к началу |
|
|
next
Зарегистрирован: 20.11.2006 Сообщения: 28
|
Добавлено: Пн Дек 04 2006 02:14 Заголовок сообщения: |
|
|
а grep на что? |
|
Вернуться к началу |
|
|
kolobok0
Зарегистрирован: 22.04.2005 Сообщения: 253 Откуда: Мсква
|
Добавлено: Пн Дек 04 2006 14:34 Заголовок сообщения: Re: Поиск в текстовом файле |
|
|
scream1905 писал(а): | Выручите, плз.
Очень нужна прога на С++, которая после введения с клавиатуры слова выполняет поиск его в текстовом файле и выдает на экран сообщение о результате..
очень-очень надо.. |
если размер файла может быть любой, то оптимальное по скорости решение разжовано с примерами у Рихтера "Windows для проффессионалов". Там правда копирование, но рояли сильно не играет...
(круглый) |
|
Вернуться к началу |
|
|
Dimasm
Зарегистрирован: 25.04.2005 Сообщения: 454
|
Добавлено: Пн Дек 04 2006 18:57 Заголовок сообщения: |
|
|
признавайся какая ОС и среда программирования _________________ С уважением Dimasm |
|
Вернуться к началу |
|
|
scream1905
Зарегистрирован: 04.12.2006 Сообщения: 2
|
Добавлено: Пн Дек 04 2006 21:52 Заголовок сообщения: |
|
|
Dimasm писал(а): | признавайся какая ОС и среда программирования |
Винда, Борланд си++ |
|
Вернуться к началу |
|
|
Dimasm
Зарегистрирован: 25.04.2005 Сообщения: 454
|
Добавлено: Пн Дек 04 2006 22:34 Заголовок сообщения: |
|
|
мда... могу подбросить такие кубики для твоей головоломки
- вот примеры чтения файла
Код: | FILE *stream; // stdio.h
String msg;
char msg2[24];//
bool _eof_file = true;
String file_name = "file.txt"
file_ok = false;
stream = fopen(file_name.c_str(), "r");
if(stream != NULL)
{
file_ok = true;
fseek(stream, 0L, SEEK_SET);
msg = "";
while (!feof(stream) || _eof_file)
{
_eof_file = fgets(msg2, 24, stream);
if(!_eof_file) break;
msg = String(msg2);// это желательно делать, отсеивается мусор
...
};
fclose(stream);
};
=============================
ifstream in; //fstream.h
char msg2[32];
String msg = "";
String file_name = "file.txt"
in.open(file_name.c_str());
in.setf(ios::left,ios::basefield);
if (!in.eof())
{
while (!in.eof())
{
in >> msg2;
msg = String(msg2);
...
};
in.close();
};
|
смотри какие библиотеки используются у тебя
далее...
если файл - это столбик слов (в строке одно слово, а далее - Enter)
то так
fgets(msg2, 24, stream); - 24 - длинна буфера msg2 и максимальная длинна слова
если у тебя просто текст, с пробелами, запятыми...
char msg2[2];
fgets(msg, 2, stream);
читаешь циклом до появления пробела, переноса, запятой...
и сравниваешь с образцом
далее...
Если прога с формой, то с вводом и выводом данных проблемм быть не должно, если консоль...
int main(int argc, char* argv[])
{
argc - колличество аргументов
argv[] - сами аргументы, массив
например вводишь с консоли
>my_win_grep.exe text.txt Пупкин
тогда
argc = 2
argv[0] = "text.txt";
argv[1] = "Пупкин";
кстати, GREP - это программа, которую ты хочешь сделать, но реализованная в Unix системах _________________ С уважением Dimasm |
|
Вернуться к началу |
|
|
|