значение 0, если строки содержат одинаковое
количество одинаковых символов, расположенных
в одинаковом порядке, при первом несовпадении
символов функция возвращает разницу между
кодам символа строки str1 и кодом соответствующего
символа строки str2;
srtcpy(str1,str2)
– копирует содержимое строки str2
в строку str1, массив str1 должен быт
достаточно большим, что бы в него могла
поместится строка str2, если строка str1 содержит
какие-то символы, то при копировании они пропадут;
strcspn(str1,str2)
– просматривает строку str1 и выдает
длину подстроки, отсчитываемой с начала
строки str1, символы которой полностью
отсутствуют в строке str (см. также функцию strspn());
strlen(str)
– возвращает длину строки str без
учета нулевого завершающего байта;
strlwr(str)
– преобразует буквы верхнего регистра
в строке в соответствующие буквы нижнего
регистра (речь идет только о буквах латинского
алфавита);
strncat(str1,str2,int kol)
– присоединяет kol символов строки
str2 к строке str1(остальные замечания
см. у функции strcat());
strpbrk(str1,str2)
– ищет в строке str1 первое появление
любого из множества символов, входящих
в строку str2;
strrchr(str, int c
) – ищет в строке str последнее вхождение
символа с, возвращает указатель на этот
символ в строке str, если символ с в строке
не обнаружиться, функция возвращает нулевой
указатель (см. также функция strchr());
strset(str,int c)
– заполняет строку str заданным символом с;
strspn(str1,str2)
– просматривает строку str1 и выдает длину подстроки,
отсчитываемой с начала строки str1, символы которой
совпадают с любым символом из строки str2;
strstr(str1,str2)
– ищет в строке str1 подстроку str2, возвращает
указатель на тот элемент в строке str1, с которого
начинается подстрока str2; если подстрока str2 не
обнаружена в строке str1, функция возвращает 0;
strtok(str1,str2)
– функция разбивает строку str1 на подстроки
согласно символам ограничителям, заданным
в строке str2, функция strtok вводит символ ‘\0’ после
каждой подстроки (более подробно об этой функции см. ниже);
strupr(str)
– преобразует буквы нижнего регистра в строке
в соответствующие буквы верхнего регистра
(речь идет только о буквах латинского алфавита);
Ниже приведена программа, поясняющая принцип работы функции strtok. В результате работы программы образуется массив указателей mass, сформированный из исходной строки.
#include<stdio.h>
#include<string.h>
#include<conio.h>
define KOL_SL 20 // Количество слов в строке
void main(void)
{
clrscr();
char *str1=”Иванов Сидоров,Петров+Винокуров/Лунёв”,*mass[KOL_SL];
char *ptr=str1; //В этой строке хранится копия исходной строки
char *str2=” ,+/”; //Символы-разграничители слов в исходной строке
int I,j=1;
printf(“\n Исходная строка: ”);
puts(ptr);
printf(“\n Список слов: ”);
//Первый вызов функции, выделяем первое слово
ptr=strtok(str1,str2);
mass[0]=ptr;
for(;;)
{
Ptr=strtok(0,str2);//Выделяем остальные слова
If(ptr) {mass[j]=ptr; j++}
Else break;
}
for(i=0;i<j;;i++) printf(“\n%s”,mass[i]);
getch();
}
/* Выдача на экран
Исходная строка: Иванов Сидоров,Петров+Винокуров/+Лунев
Список слов:
Иванов
Сидоров
Петров
Винокуров
Лунев */
Функция strtok() поддерживает внутренний указатель обрабатываемой строки. Если первый аргумент функции strtok() указывает на строку, внутренний указатель устанавливается в начало этой строки. Если первый аргумент функции равен 0, функция strtok() продолжает процесс обработки предыдущей строки, начиная с позиции, запомненной на предыдущем шаге, и продвигая внутренний указатель по мере получения очередной подстройки. Таким образом функция strtok() «проходит» всю строку. Не забудте создать строки, которую вы собираетесь разбить на подстроки.
ФУНКЦИИ ПРОВЕРКИ И ПРЕОБРАЗОВАНИЯ СИМВОЛОВ
(ФАЙЛ – ctype.h)
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.