Menu
CoddyTech

Cスタイル文字列 パート1

CoddyのC++ジャーニー「基礎」セクションの一部。レッスン 67/74。

C形式の文字列は、string型ではなくchar型で作成します。ヌル文字と呼ばれる特殊な文字('\0')で終わります。

この文字は文字列の終わりを示します。C形式の文字列は、「ヌル終端文字列」と呼ばれることがよくあります。

例えば、次のような単純な宣言です。

char str1[] = "Hello";

str1は特定のサイズを指定せずに宣言されています。コンパイラは、初期化子に基づいて(ヌル文字を含めて)サイズを自動的に決定します。

文字を使って明示的に初期化する例:

char str2[6] = {'W', 'o', 'r', 'l', 'd', '\0'};

str2 はサイズ 6 で宣言され、末尾のヌル文字を含む文字で明示的に初期化されています。

一部だけ初期化された例:

char str3[10] = "Coddy";

str3はサイズ10で宣言されていますが、最初の6文字だけが初期化されています。配列の残りの部分はヌル文字で埋められています。

Cスタイルの文字列関数を使うには、このヘッダーをインクルードする必要があります。

#include <cstring>

include の後に、strlen 関数を使って C スタイル文字列の長さを取得できます。

std::cout << strlen(str1); // 出力: 5
challenge icon

チャレンジ

簡単

printStringInfoという名前の関数を作成してください。この関数はC形式の文字列を入力として受け取り、次の処理を行います。

  1. String: に続けて、元の文字列を出力します。
  2. Length: に続けて、strlen(str)の結果を出力します。
  3. Character at index 4: に続けて、その位置の文字を出力します。
  4. Modified string: に続けて、最初の文字をXに変更した後の文字列を出力します。

自分で試してみよう

#include <iostream>
#include <cstring>

void printStringInfo(char str[]) {
    // 文字列を出力する
    

    // 文字列の長さを出力する
    

    // インデックス4の文字を出力する
    

    // 最初の文字を'X'に変更する
    

    // 変更後の文字列を出力する
    
}

int main() {
    char message[] = "Hello, World!";

    printStringInfo(message);

    return 0;
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: C++オンラインコンパイラ