C++, Borland: поиск слова

Модераторы: Romeo, Hawk, Absurd, WinMain, DeeJayC

Ответить
wlad
Сообщения: 3
Зарегистрирован: 16 фев 2005, 06:38

C++, Borland: поиск слова

Сообщение wlad » 16 фев 2005, 06:48

Господа!

C++, Borland: поиск слова: есть ли простые операторы (без поиска пробела, знак препинания и т.д.)типа, какого-то GetWord...
Влад

Аватара пользователя
WinMain
Сообщения: 912
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

Сообщение WinMain » 16 фев 2005, 10:54

Есть в стандартной библиотеке С++ класс istrstream, который позволяет читать строку по словам.

Код: Выделить всё

#include <strstrea.h>

int main(int argc, char* argv[])
{
 char Family[32], Name[32], FatherName[32];
 char student[] = "Иванов Василий Петрович";
 istrstream iss(student);
 iss >> Family >> Name >> FatherName;
 // дальше делаешь то, что тебе нужно...

 return 0;
}

wlad
Сообщения: 3
Зарегистрирован: 16 фев 2005, 06:38

Сообщение wlad » 17 фев 2005, 06:00

Спасибо..

То есть если у тебя есть текст книги, где слова разделены пробелами, то я должен пользоваться тоже такими операторами? Там, увы, число слов не определено...

Влад

Аватара пользователя
WinMain
Сообщения: 912
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

Сообщение WinMain » 17 фев 2005, 11:59

Если количество слов в тексте заранее неизвестно, то читай текст в цикле по каждому слову с проверкой условия окончания потока.
Для чтения из файла вместо istrstream используется класс ifstream.

Код: Выделить всё

#include <fstream.h>

int main(int argc, char* argv[]) 
{ 
 char Word[80];
 
 ifstream ifs("book.txt"); 
 while (!ifs.eof())
 {
  ifs >> Word;
  // дальше делаешь то, что тебе нужно... 

 }

 return 0; 
} 


Ответить