C标准库<string.h>-str、strn开头的函数
char *strcat(char *dest, const char *src)
函数功能
strcat
函数用于将一个字符串追加到另一个字符串的尾部。
参数解释
dest
:指向目标字符串的指针,这个字符串的尾部将被追加src
字符串的内容。src
:指向源字符串的指针,其内容将被追加到dest
字符串的尾部。
返回值
- 返回指向目标字符串
dest
的指针。
函数实现
函数用法
#include <stdio.h>
#include <string.h>int main() {char dest[50] = "Hello,";const char *src = "World!";// 将src追加到dest的尾部strcat(dest, src);printf("Concatenated String: '%s'\n", dest);return 0;
}
Concatenated String: 'Hello, World!'
char *strncat(char *dest, const char *src, size_t n)
函数功能
strncat
函数用于将一个字符串的一部分追加到另一个字符串的尾部,最多追加指定的字符数。
参数解释
dest
:指向目标字符串的指针,这个字符串的尾部将被追加src
字符串的内容。src
:指向源字符串的指针,其内容将被追加到dest
字符串的尾部。n
:最大的字符追加数,包括空字符。
返回值
- 返回指向目标字符串
dest
的指针。
函数实现
函数用法
#include <stdio.h>
#include <string.h>int main() {char dest[50] = "Hello, ";char *src = "World! This is a test.";// 将src的前14个字符追加到dest的尾部strncat(dest, src, 14);printf("Concatenated String: '%s'\n", dest);return 0;
}
Concatenated String: 'Hello, World! This is'
请按任意键继续. . .
char *strchr(const char *str, int c)
函数功能
strchr
函数用于在一个字符串中查找第一次出现的指定字符。
参数解释
str
:指向要搜索的字符串的指针。c
:要搜索的字符(以整数形式给出)。
返回值
- 如果找到了字符
c
,则返回指向找到的第一个匹配字符的指针。 - 如果没有找到,则返回
NULL
。
函数实现
函数用法
#include <stdio.h>
#include <string.h>int main() {char *str = "Hello, World!";int c = 'W';// 使用 strchr 查找字符 'W'char *result = strchr(str, c);if (result) {printf("Character '%c' found at position: %ld\n", c, result - str + 1);} else {printf("Character '%c' not found.\n", c);}return 0;
}
Character 'W' found at position: 8
请按任意键继续. . .
int strcmp(const char *str1, const char *str2)
函数功能
strcmp
函数用于比较两个字符串,并根据比较结果返回一个整数
参数解释
str1
:指向第一个要比较的字符串的指针。str2
:指向第二个要比较的字符串的指针。
返回值
- 如果
str1
小于str2
,则返回负整数。 - 如果
str1
等于str2
,则返回0
。 - 如果
str1
大于str2
,则返回正整数。
函数实现
函数用法
#include <stdio.h>
#include <string.h>int main() {const char *str1 = "Hello";const char *str2 = "Hell";const char *str3 = "Hello";int result1 = strcmp(str1, str2);int result2 = strcmp(str1, str3);if (result1 < 0) {printf("'%s' is less than '%s'\n", str1, str2);} else if (result1 > 0) {printf("'%s' is greater than '%s'\n", str1, str2);} else {printf("'%s' is equal to '%s'\n", str1, str2);}if (result2 < 0) {printf("'%s' is less than '%s'\n", str1, str3);} else if (result2 > 0) {printf("'%s' is greater than '%s'\n", str1, str3);} else {printf("'%s' is equal to '%s'\n", str1, str3);}return 0;
}
'Hello' is greater than 'Hell'
'Hello' is equal to 'Hello'
请按任意键继续. . .
下面的程序,和上面的程序有一点点不同,结果也不一样。
#include <stdio.h>
#include <string.h>int main() {const char *str1 = "Healo";const char *str2 = "Hell";const char *str3 = "Hello";int result1 = strcmp(str1, str2);int result2 = strcmp(str1, str3);if (result1 < 0) {printf("'%s' is less than '%s'\n", str1, str2);} else if (result1 > 0) {printf("'%s' is greater than '%s'\n", str1, str2);} else {printf("'%s' is equal to '%s'\n", str1, str2);}if (result2 < 0) {printf("'%s' is less than '%s'\n", str1, str3);} else if (result2 > 0) {printf("'%s' is greater than '%s'\n", str1, str3);} else {printf("'%s' is equal to '%s'\n", str1, str3);}return 0;
}
'Healo' is less than 'Hell'
'Healo' is less than 'Hello'
请按任意键继续. . .
函数功能
参数解释
返回值
函数实现
函数用法
函数功能
参数解释
返回值
函数实现
函数用法