Страница 1 из 1

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

Добавлено: 16 фев 2005, 06:48
wlad
Господа!

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

Добавлено: 16 фев 2005, 10:54
WinMain
Есть в стандартной библиотеке С++ класс 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;
}

Добавлено: 17 фев 2005, 06:00
wlad
Спасибо..

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

Влад

Добавлено: 17 фев 2005, 11:59
WinMain
Если количество слов в тексте заранее неизвестно, то читай текст в цикле по каждому слову с проверкой условия окончания потока.
Для чтения из файла вместо 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; 
}