Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

C 字符串函数


字符串函数

C 还提供许多有用的字符串函数,可以用于对字符串执行某些操作。

要使用它们,您必须在程序中包含 <string.h> 头文件。

#include <string.h>

字符串长度

例如,要获取字符串的长度,可以使用 strlen() 函数。

示例

char alphabet[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
printf("%d", strlen(alphabet));
自己尝试 »

字符串章节 中,我们使用 sizeof 来获取字符串/数组的大小。请注意,sizeofstrlen 的行为不同,因为 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> 库参考



×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.