string.h — это стандартный заголовочный файл на языке C, содержащий функции для работы со строками (массивами символов). Заголовочный файл содержит некоторые полезные строковые функции, которые можно напрямую использовать в программе, вызвав директиву препроцессора #include.
Синтаксис:
#include <string.h>
Пример:
С
// C program to demonstrate the use of C string.h
//header file
#include <stdio.h>
#include <string.h>
int
main()
{
// initializing some strings
char
str1[20] =
"Geeksfor"
;
char
str2[20] =
"Geeks"
;
// using strlen(), strcat()
printf
(
"Str1: %s\n"
, str1);
printf
(
"Length of Str1 before concatenation: %d\n"
,
strlen
(str1));
strcat
(str1, str2);
// concatenating str1 and str2
printf
(
"Str1: %s\n"
, str1);
return
0;
}
Выход
Str1: Geeksfor Length of Str1 before concatenation: 8 Str1: GeeksforGeek
Функции библиотеки C string.h
Заголовочный файл содержит следующие функции:
Имя функции | Описание функции |
strlen() | Возвращает длину строки. |
strcpy() | Скопируйте одну строку в другую. |
strncpy() | Скопируйте первые n символов одной строки в другую. |
strcat() | Объединяет две строки. |
strncat() | Объединяет первые n символов одной строки в другую. |
strcmp() | Сравнивает две строки. |
strncmp() | Сравнивает первые n символов двух строк. |
strchr() | Найти первое вхождение заданного символа в строку. |
strrchr() | Находит последнее вхождение заданных символов в строку. |
strstr() | Найдите заданную подстроку в строке. |
strcspn() | Возвращает диапазон исходной строки, не содержащий ни одного символа данной строки. |
strspn() | Возвращает диапазон исходной строки, содержащий только символы данной строки. |
strpbrk() | Находит первое вхождение любого из символов заданной строки в исходной строке. |
strtok() | Разделите данную строку на токены на основе некоторого символа в качестве разделителя. |
strcoll() | Сравнивает две переданные строки. |
memset() | Инициализировать блок памяти с заданным символом. |
memcmp() | Сравнивает два блока памяти. |
memcpy() | Скопируйте два блока памяти. |
memmove() | Перемещает два блока памяти. |
memchr() | Находит заданный символ в блоке памяти. |
Пример:
С
// C program to demonstrate the use of different functions
// of string.h library
#include <stdio.h>
#include <string.h>
// defininf the common size of the string arrays
#define size 50
int
main()
{
char
destString[size] =
"Geeksfor"
;
char
sourceString[size] =
"Geeks"
;
char
tempDestString[size];
printf
(
"Length of Destination String: %d\n"
,
strlen
(destString));
// copying sourceString to tempDestString using strcpy()
strcpy
(tempDestString, sourceString);
printf
(
"tempDestString after strcpy(): %s\n"
,
tempDestString);
// concatenating source to destination using strcat()
strcat
(destString, sourceString);
printf
(
"destString after Concatenation: %s\n"
,
destString);
// comparison using strcmp()
printf
(
"Comparing destString with sourceString: %d\n"
,
strcmp
(destString, sourceString));
printf
(
"Comparing first 5 characters: %d\n"
,
strncmp
(destString, sourceString, 5));
// searching substring using strstr()
printf
(
"Searching sourceString in destString: %s\n"
,
strstr
(destString, sourceString));
return
0;
}
Выход
Length of Destination String: 8 tempDestString after strcpy(): Geeks destString after Concatenation: GeeksforGeeks Comparing destString with sourceString: 102 Comparing first 5 characters: 0 Searching sourceString in destString: GeeksforGeeks