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
,否則返回一個非零值。
示例
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> 庫參考。