■C++を学ぼう!
「C++を学ぼう!」では、C++の初心者をターゲットにC++言語を体系的に学べるようにサイトを構築しています。
管理人もC++を学びながら作っていますので、分かり難い点などあればご指摘下さい。

▼スポンサードリンク
■メニュー

(C)あいねこの館

文章などの改変・利用は禁止します
文字列の表現方法

配列で表現する
文字列の格納は配列を利用します。
配列に文字列を格納する場合、文字列の最後を表すために、\0といった終端記号が必要となります。

配列a = {A,B,C,\0}となります。
#include <iostream>

using namespace std;

int main(){

	char a[] = {'A','B','C','\0'};

	//又は下記のように宣言することも出来ます
	//方法1
	//char a[10];
	//a[0] = 'A';
	//a[1] = 'B';
	//a[2] = 'C';
	//a[3] = '\0';

	//方法2
	//char a[] = "ABC";//⇒自動的に終端起動が挿入されます

	//配列を表示する
	cout << a << endl;

}
実行結果は以下の通りです。
ABC
ポインタを利用して表示する
先ほどの配列をポインタで表したように文字列を1つずつ取り出してみましょう。

#include <iostream>

using namespace std;

int main(){

	char a[] = "ABC";

	//char型のポインタを宣言する
	char *b;

	//charのポインタbにaの先頭アドレスを代入する
	b=a;

	//配列を表示する
	for(int i=0;i<3;i++){
		cout << b[i] << endl;
	}
}
実行結果は以下の通りです。
A
B
C
さて、様々な関数を用いて文字列を表現してみましょう。

#include <iostream>
#include <string>

using namespace std;

int main(){

	char a[] = "ABCDEFGH";
	char b[10];
	char c[10];

	//bにaの内容をコピーする
	strcpy(b,a);
	cout << b << endl;

	//指定分内容をコピーする※自動的に終端記号は挿入されないことに注意
	strncpy(c,a,5);
	c[5] = '\0'; 
	cout << c << endl;

	//文字列を検索する⇒一致した以降の値を返す
	cout << strstr(a,"CD") << endl;

}
実行結果は以下の通りです。
ABCDEFGH
ABCDE
CDEFGH