導入
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;。