TECH I.S.

C 文字列関数


文字列関数

C には、文字列に対して特定の操作を実行するために使用できる便利な文字列関数も多数あります。

これらを使用するには、プログラムに<string.h> ヘッダー ファイルを含める必要があります。

#include <string.h>

文字列の長さ

たとえば、文字列の長さを取得するには、strlen() 関数を使用できます。

char alphabet[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; printf("%d", strlen(alphabet));

自分で試してみる»

文字列の章では、sizeof を使用して文字列/配列のサイズを取得しました。 sizeof にはカウント時に \0 文字も含まれるため、sizeofstrlen の動作が異なることに注意してください。

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

自分で試してみる»


文字列の連結

2 つの文字列を連結 (結合) するには、strcat()関数を使用できます。

char str1[20] = "Hello "; char str2[] = "World!"; // Concatenate str2 to str1 (result is stored in str1) strcat(str1, str2); // Print str1 printf("%s", str1);

自分で試してみる»

str1のサイズは2 つの文字列を結合した結果を格納するのに十分な大きさにする必要がありますので注意してください。 (この例では 20)。

文字列をコピーする

ある文字列の値を別の文字列にコピーするには、strcpy()関数を使用できます。

char str1[20] = "Hello World!"; char str2[20]; // Copy str1 to str2 strcpy(str2, str1); // Print str2 printf("%s", str2);

自分で試してみる»

str2のサイズはコピーされた文字列を格納するのに十分な大きさである必要がありますので注意してください。 (この例では 20)。

文字列を比較する

2 つの文字列を比較するには、strcmp()関数を使用できます。
2 つの文字列が等しい場合は 0 を返し、そうでない場合は 0 以外の値を返します。

char str1[] = "Hello"; char str2[] = "Hello"; char str3[] = "Hi"; // Compare str1 and str2, and print the result printf("%d\n", strcmp(str1, str2));  // Returns 0 (the strings are equal) // Compare str1 and str3, and print the result printf("%d\n", strcmp(str1, str3));  // Returns -4 (the strings are not equal)

自分で試してみる »



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細