В языке С для обработки символьных строк существует специальный набор стандартных функций, описанных в заголовочных файлах 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
char * strncpy (char *sDest, const char *sSource, int count);
копирует первые count байт строки с в строку sDest. Если count меньше или равно длине sSource заключительный символ ‘\0’ автоматически не добавляется в sDest. В противном случае заключительный символ вставляется после count байт, среди которых строка sSource, дополненная пробелами.
strdup
char * strdup (const char *str);
выделяет память и переносит в нее копию строки str.
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.