Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Функции работы со строками



Находятся в библиотеке string.h

Действие Вид функции Пример использования
1.Присваивание строк   char *strcpy (char *str1, const char *str2) используется для копирования содержимого str2 в str1. Следующая фрагмент кода копирует “hello” в строку str: char str[80]; strcpy(str,”hello”);
2. Длина строки   size_t strlen (const char *str) возвращает длину строки. При определении длины строки нулевой символ не учитывается. Данный фрагмент кода выводит на экран число 5. strcpy(s,”hello”); int n; n=strlen(s); cout<<n;
3. Функция соединения строк   char *strcat (char *str1, const char *str2) конкатенирует (соединяет в цепочку) строку str1 и копию строки str2. Строка str2 остается в первоначальном виде. #include <iostream.h> #include <string.h> int main(void) { char s1[80],s2[80]; cin.getline(s1,80); cin.getline(s2,80); strcat(s2,s1); cout<<s2<<endl; return 0;}
4. Поиск символа в строке.   char *strchr (const char *str, int ch) возвращает указатель на первое вхождение символа ch в строку, на которую указывает str. Если символ ch не найден, возвращается нулевой указатель NULL. Следующая программа выведет строку ”is a test”: #include <iostream.h> #include <string.h> int main(void) {char *p; p = strchr(“this is a test”,’ ‘); cout<<p<<endl; return 0; }
5. Сравнение строк char *strcmp (char *str1, char *str2) выполняет алфавитное сравнение двух строк, оканчивающихся нулевыми символами, и возвращает целое число со следующим значением: Число Значение Меньше 0 str1 меньше, чем str2 Равно 0 str1 равна str2 Больше 0 str1 больше, чем str2 Следующая функция используется для проверки пароля char s[80]; cout<<“Введи пароль: “; cin.getline(s,80); if(strcmp(s, “pass”)) { cout<<“Неправильный пароль.”; }  
6. Поиск подстроки в строке char *strstr (char *str1, char *str2) возвращает указатель на первое вхождение в строку, на которую указывает str1, строки, указанной str2. Если совпадений не обнаружено, возвращается нулевой указатель NULL. char *p; char s1[80],s2[80]; cin.getline(s1,80); cin.getline(s2,80); p = strstr(s1,s2) if(p) cout<<”Входит s2 в s1”; else cout<<”Не входит s2 в s1”;  
7. Выделение слов в строке char *strtok (char *str1, char *str2) возвращает указатель на следующую лексему в строке, на которую указывает str1. Символы из строки, на которую указывает str2, используются как ограничители, определяющие лексему. Если лексема не найдена, то возвращается NULL.   #include <iostream.h> #include <string.h> int main(void) {char *p; char s[80]; int i; cin.getline(s,80); //выделение слова p = strtok(s," \n"); i=1; cout<<i<<" "<<p<<endl; while(p = strtok(NULL," \n")) { i++; cout<<i<<" "<<p<<endl; } return 0;}




Дата публикования: 2015-10-09; Прочитано: 234 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...