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'
请按任意键继续. . .
函数功能
参数解释
返回值
函数实现
函数用法
函数功能
参数解释
返回值
函数实现
函数用法