C 字符串函数
字符串函数
C 还提供许多有用的字符串函数,可以用于对字符串执行某些操作。
要使用它们,您必须在程序中包含 <string.h>
头文件。
#include <string.h>
字符串长度
例如,要获取字符串的长度,可以使用 strlen()
函数。
在 字符串章节 中,我们使用 sizeof
来获取字符串/数组的大小。请注意,sizeof
和 strlen
的行为不同,因为 sizeof
在计数时还包括 \0
字符。
示例
char alphabet[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
printf("%d", strlen(alphabet)); // 26
printf("%d", sizeof(alphabet)); // 27
自己尝试 »
同样重要的是,您需要知道 sizeof
将始终返回内存大小(以字节为单位),而不是实际的字符串长度。
示例
char alphabet[50] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
printf("%d", strlen(alphabet)); // 26
printf("%d", sizeof(alphabet)); // 50
自己尝试 »
连接字符串
要连接(合并)两个字符串,可以使用 strcat()
函数。
示例
char str1[20] = "Hello ";
char str2[] = "World!";
// 将 str2 连接到 str1(结果存储在 str1 中)
strcat(str1, str2);
// 打印 str1
printf("%s", str1);
自己尝试 »
请注意,str1
的大小应该足够大,以存储两个字符串组合的结果(在我们的示例中为 20)。
复制字符串
要将一个字符串的值复制到另一个字符串,可以使用 strcpy()
函数。
示例
char str1[20] = "Hello World!";
char str2[20];
// 将 str1 复制到 str2
strcpy(str2, str1);
// 打印 str2
printf("%s", str2);
自己尝试 »
请注意,str2
的大小应该足够大,以存储复制的字符串(在我们的示例中为 20)。
比较字符串
要比较两个字符串,可以使用 strcmp()
函数。
如果两个字符串相等,它将返回 0
,否则将返回一个非 0 值。
示例
char str1[] = "Hello";
char str2[] = "Hello";
char str3[] = "Hi";
// 比较 str1 和 str2,并打印结果
printf("%d\n", strcmp(str1, str2)); // 返回 0(字符串相等)
// 比较 str1 和 str3,并打印结果
printf("%d\n", strcmp(str1, str3)); // 返回 -4(字符串不相等)
自己尝试 »
完整字符串参考
有关字符串函数的完整参考,请访问我们的 C <string.h> 库参考。