Пример 7.10. Пусть введена строка символов str, разделенных пробелами. Анализируя каждый символ, сформируем слово в переменной word и выведем его на печать.
Очень часто при работе со строками необходимо выделять слова, т.е. группу символов, находящуюся между символами-разделителями (пробелами, запятыми, точками и т.п.).
Сформировать слово можно несколькими способами. Формирование слова с помощью анализа компонентов строки
Пример 7.10. Пусть введена строка символов str, разделенных пробелами. Анализируя каждый символ, сформируем слово в переменной word и выведем его на печать.
#include <iostream> #include <conio.h> #include <string.h> using namespace std;
void main(void) { char word[20]; char str[80]; int j=0; // Количество символов в слове word clrscr(); cin.get(str,80); for(int i=0;i<strlen(str);i++) // Пока не конец строки { while(str[i]==' ') continue; // Пропуск пробелов в str while(str[i]!=' ' && str[i]!='\0') // Пока текущий символ не //пробел и не нуль-символ word[j++]=str[i++]; } // Формирование слова word word[j]='\0'; // Нуль-символ в конец слова cout<<word; // Вывод слова }
cout<<word; // Вывод слова отсюда убрать, и затем word вставить в функцию
int strncmp(const char *, const char *, size_t);
| лексикографическое сравнение первых n байтов строк
| Или
int strcmp(const char *, const char *);
| лексикографическое сравнение строк
|
и дальше призвести сравнение
можно strcmp (str1, str2);
|