本文へスキップ
BecomeCoder

C++コース · 第5章 配列と文字列 · レッスン21

C文字列 ― 文字の配列

ブラウザで完結

導入

C言語スタイルの文字列は、char配列で表します(末尾に見えない終端記号が入ります)。<cstring>関数で長さを測ったり連結したりできます。

説明

char 名前[] = "文字列"; で作れます。1文字ずつは配列と同じく番号でアクセスできます。

#include <iostream>
using namespace std;

int main() {
    char word[] = "Hello";
    cout << word << endl;      // Hello(全体)
    cout << word[0] << endl;   // H(先頭の1文字)
    return 0;
}

<cstring> を使うと、長さ strlen や連結 strcat、コピー strcpy が使えます。

#include <iostream>
#include <cstring>
using namespace std;

int main() {
    char s[20] = "Become";
    cout << "長さ " << strlen(s) << endl;   // 6
    strcat(s, "Coder");                     // 後ろに連結
    cout << s << endl;                       // BecomeCoder
    return 0;
}

1文字ずつ回すこともできます。

#include <iostream>
#include <cstring>
using namespace std;

int main() {
    char s[] = "abc";
    for (int i = 0; i < (int)strlen(s); i++) {
        cout << s[i] << "-";     // a-b-c-
    }
    cout << endl;
    return 0;
}

(より手軽な std::string は第7章で紹介します。この実行環境では C文字列で練習します。)

やってみよう

word の中身を変えたり、strcat でつなぐ文字を変えたりして、結果を確かめましょう。

演習

char s[] = "Programming";文字数strlen で表示してください(結果は 11)。

ヒント1を見る

#include <cstring> を書き、cout << strlen(s) << endl;

実際に動かしてみよう

下のエディタにC++を書いて「実行」を押すと、ブラウザ内のインタプリタで出力が表示されます。本文の例をそのまま試したり、書き換えたりしてみましょう(cin を使う回は「標準入力」欄に値を入れてから実行します)。

C/C++ — ブラウザ内で実行

ブラウザ内でC/C++を動かす学習用インタプリタ(JSCPP)を読み込みます(入門向けのサブセットです)。
スクロールして表示された時点でも自動で読み込まれます。