string

■std

stdはC++が標準で提供している関数やクラスをまとめたnamespaceです。
stringやvector、listなどもstdの中にまとめられています。

■string

stringはstdに含まれている文字列用のクラスです。
stringを使用するには「string」をインクルードします。
インクルードする「string」には.hをつけません。

●変数宣言
	書式例:
		std::string 変数名;
	
	具体例:
		std::string str;

●変数宣言時初期化
	書式例:
		書式1:
			std::string 変数名 = 文字列;
		
		書式2:
			std::string 変数名(文字列);
	
	具体例:
		書式1:
			std::string str1 = "aaa";
	
		書式2:
			std::string str2("bbb");

●文字列の代入
	C言語の文字列はchar型の配列に文字を設定しているので、
	以下のような代入処理はできず、strcpyなどの専用関数を
	使用する必要があります。

		文字列代入例(エラー):
			char str[32];
			str = "aaaa";
		
		文字列代入例:
			char str[32];
			strcpy(str, "aaa");

	stringクラスはint型などのデータ型と同じように
	代入演算子「=」を使用した代入が可能です。

		例:
			std::string str;
			str = "aaa";

●文字列の取得
	文字列はstringクラスに格納されています。
	なのでstringクラスを使用した文字列のやり取りは多彩に用意されていますが、
	printfの%sなどのchar*を必要とする場合には型が異なるので使用することができません。
	そこで、stringクラスは格納している文字列をchar*として取得できる関数を
	用意してくれています。

	関数名:
		c_str

	戻り値:
		const char*:
			stringクラスで格納している文字列
	
	引数:
		なし
	
	内容:
		stringクラスで格納している文字列をchar*で返す
	
	例:
		std::string str = "aaa";
		printf("%s\n", str.c_str());

●文字列入出力(C++)
	出力:
		C言語の文字出力はprintf関数ですが、C++では「cout」が用意されています。
		coutもstdのnamespaceの含まれている内容の1つです。

		必要ヘッダ:
			iostream
	
		書式:
			std::cout << 文字列;
	
		具体例:
			// endlは改行
			std::cout << "あああ" << std::endl;

	入力:
		C++の入力方法は「cin」が用意されており、
		こちらもstdのnamespaceの1つです。

		必要ヘッダ:
			iostream
		
		書式:
			std::cin >> 入力結果格納変数;
			
		具体例:
			int num
			std::cin >> num;
			std::cout << num;

			出力結果:
				入力された値

●文字数取得
	stringクラスは文字数を取得するメンバ関数を持っているので
	文字数を簡単に取得することができます。

	関数名:
		size

	戻り値:
		文字数
	
	引数:
		なし
		
	内容:
		stringクラスに格納している文字列の文字数を返す
		
	例:
		std::string str = "123";
		printf("%d\n", str.size());

		出力結果:
			3

●文字列の連結
	stringクラスは文字列を「+」記号を使用するだけで連結することが可能です。

	例:
		std::string str = "aaaa";
		std::string str2 = "bbbb";
		std::string str3 = str + str2;
		std::cout << str3.c_str() << std::endl;
		str3 += "ccccc";
		std::cout << str3.c_str() << std::endl;

		出力結果:
			aaaabbbb
			aaaabbbbccccc

●文字列へのアクセス
	文字列のアクセスは配列のアクセスと同じように行うことが可能です。
		
	例:
		std::string str = "aaaa";
		str[0] = 'b';
		std::cout << str.c_str() << std::endl;
		
		出力結果:
			baaa