Стандартные функции обработки строк
В языке С для обработки символьных строк существует специальный набор стандартных функций, описанных в заголовочных файлах string.h и stdlib.h. К ним относятся такие функции как:
1. Функции определения длины строки.
strlen | unsigned strlen(const char *str); вычисляет длину строки str |
strcspn | int strcspn(const char *str1, const char *str2); определяет длину первого сегмента строки str1, содержащего символы, не входящие во множество символов строки str2 |
strspn | int strspn(const char *str1, const char *str2); определяет длину первого сегмента строки str1, содержащего только символы из множества символов строки str2 |
2. Функции получения чисел по их символьному представлению
atof | double atof(const char *str); преобразует строку str в вещественное число типа double |
atoi | int atoi(const char *str); преобразует строку str в целое число типа int |
atol | long atol(const char *str); преобразует строку str в целое число типа long. |
3. Функции получения символьного представления чисел
itoa | char *itoa(int value, char *str, int radix); преобразует целое value в строку str. При изображении числа используется система счисления с основанием radix. Если основание 10 и число отрицательное – первым символом строки будет «минус». |
ltoa | char *ltoa(long value, char *str, int radix); преобразует длинное целое value в строку str. При изображении числа используется система счисления с основанием radix. |
ultoa | char *ultoa(unsigned long value, char *str, int radix); преобразует беззнаковое длинное целое value в строку str. При изображении числа используется система счисления с основанием radix |
4. Функции копирования строк
strcpy | char * strcpy (char *sDest, const char *sSource); копирует байты строки sSource в строку sDest |
strncpy | char * strncpy (char *sDest, const char *sSource, int count); копирует первые count байт строки с в строку sDest. Если count меньше или равно длине sSource заключительный символ ‘\0’ автоматически не добавляется в sDest. В противном случае заключительный символ вставляется после count байт, среди которых строка sSource, дополненная пробелами. |
strdup | char * strdup (const char *str); выделяет память и переносит в нее копию строки str. |
5. Функции конкатенации строк
strcat | char * strcat (char *sDest, const char *sSource); приписывает строку sSource к строке sDest. |
6. Функции сравнения строк
strcmp | char * strcmp (const char *str1, const char *str2); сравнивает строки str1 и str2. Результат отрицателен, если str1 < str2; равен 0, если str1 == str2, и положителен, если str1 > str2. |
strncmp | char * strncmp (const char *str1, const char *str2, int count); сравнивает первые count байт строк str1 и str2. Результат отрицателен, если str1 < str2; равен 0, если str1 == str2, и положителен, если str1> str2. |
strnicmp | char * strnicmp (const char *str1, const char *str2, int count); сравнивает первые count байт строк str1 и str2, не учитывая регистра (прописные и строчные буквы считаются одинаковыми). Результат отрицателен, если str1 < str2; равен 0, если str1 == str2, и положителен, если str1> str2. |
7. Функции поиска строк
strchr | char * strchr (const char *str, int c); ищет в строке str первое вхождение символа c. Возвращает NULL, если символ в строке отсутствует. |
strrchr | char * strrchr (const char *str, int c); ищет в строке str последнее вхождение символа c. Возвращает NULL, если символ в строке отсутствует. |
strstr | char * strstr (const char *str1, const char *str2); ищет в строке str1 подстроку str2. Возвращает указатель на тот элемент в строке str1, с которого начинается подстрока str2, или NULL, если подстрока str2 в строке str1 отсутствует. |
strpbrk | char * strpbrk (const char *str1, const char *str2); ищет в строке str1 первое вхождение любого символа из строки str2. Возвращает NULL, если такой символ в строке отсутствует. |
strtok | char * strtok (char *str1, const char *str2); ищет в строке str1 лексемы, выделенные символами из второй строки str2. |
8. Функции преобразования строк
strlwr | char * strlwr (const char *str); преобразует буквы верхнего регистра в строке в соответствующие буквы нижнего регистра. |
strupr | char * strupr (const char *str); преобразует буквы нижнего регистра в строке в соответствующие буквы верхнего регистра. |
9. Функции заполнения строк
strset | char * strset (const char *str, int c); Заполняет строку str заданным символом c. |
strnset | char * strnset (const char *str, int c, int count); Заполняет первые count байт строки str заданным символом c. |
Дата добавления: 2016-04-14; просмотров: 712;