「文字列」の編集履歴(バックアップ)一覧はこちら

文字列」(2017/11/17 (金) 18:00:35) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*string C++の標準ライブラリには文字列操作を便利にした string というものがあります。 従来の char* は単なる文字配列でしたが、stringは文字列操作のための演算子や関数が用意されています。&br() stringを使うには<string>をincludeします。 #include <string> string は std に含まれているため std::string でアクセスします。 **初期化 string の初期化の内基本的な2種類を紹介します。 std::string str; std::string str("はろー わーるど!"); このほかにも多くの初期化方法が用意されています。 **代入 文字列の割り当てには = 演算子か .assign() を使います。 std::string str; str = "はろー わーるど!"; // = で代入 str.assign("はろー わーるど!"); // .assign() で代入 **追加 結合 += か + 演算子または .append() を使うことで文字列の後ろに他の文字列を追加できます。 std::string str; str = "はろー"; // "はろー"を代入 str += " わーるど"; // "わーるど" を = で追加 str.append("!"); // "!" を .append()で追加 **比較 == != < > <= >= を使い文字列同士を比較することが出来ます。 また .compare() を使うと比較結果を戻り値で返してくれます。 std::string str1("ABC"); // str1を "ABC" で初期化して作成 std::string str2 = str1; // str1 をコピーして str2を作成 // str1 と str2 を比較 if(str1 == str2){ std::cout << str1 + "と" + str2 + "は同じ" << std::endl; } **文字の取得 文字列から文字を取り出すには [] 演算子か .at() を使います。 std::string str("abcdef"); // str を "abcdef" で初期化して作成 char c1 = str[0]; // strの0番目 'a' を c1 に入れる char c2 = str.at(5); // strの5番目 'e' を c2 に入れる std::cout << c1 << c2 << std::endl; //c1 と c2 を表示 **文字列の取得 .substr() を使うと指定した部分の文字列が返ってきます。 第1引数が取り出す位置で、第2引数が取り出す長さです。 std::string str1("Hello World!!"); std::string str2; str2 = str1.substr(6,5); // str の6番目から5文字 "World" を抜き出して str2 に代入 std::cout << str2 << std::endl; // str2を表示 第2引数を省略すると文字列の最後まで取り出されます。 **文字列の長さを調べる 文字列の長さを調べるには .length() か .size() を使います。 これら2つは同じ意味です。 std::string str("abc"); // str の長さを表示 std::cout << str.length()<< std::endl << str.size() << std::endl; 日本語は2バイト文字という点に気をつけましょう。 **文字列が空かどうか調べる .empty() を使うと、文字列が空のとき true を返し、それ以外のとき false を返します。 **練習問題 次のようなプログラムを作ってください 第1問  ユーザーからの入力を文字列に割り当て  "Apple"という文字と比較する。  また比較した結果によりメッセージを出力する。 第2問  ユーザーからの入力を文字列に割り当て、  長さが5以上の文字列が入力されるまで繰り返す abc 5文字以上入力してください hello オッケー testcounter 合計 &counter(total) 今日 &counter(today) 昨日 &counter(yesterday)
*string C++の標準ライブラリには文字列操作を便利にした string というものがあります。 従来の char* は単なる文字配列でしたが、stringは文字列操作のための演算子や関数が用意されています。&br() stringを使うには<string>をincludeします。 #include <string> string は std に含まれているため std::string でアクセスします。 **初期化 string の初期化の内基本的な2種類を紹介します。 std::string str; std::string str("はろー わーるど!"); このほかにも多くの初期化方法が用意されています。 **代入 文字列の割り当てには = 演算子か .assign() を使います。 std::string str; str = "はろー わーるど!"; // = で代入 str.assign("はろー わーるど!"); // .assign() で代入 **追加 結合 += か + 演算子または .append() を使うことで文字列の後ろに他の文字列を追加できます。 std::string str; str = "はろー"; // "はろー"を代入 str += " わーるど"; // "わーるど" を = で追加 str.append("!"); // "!" を .append()で追加 **比較 == != < > <= >= を使い文字列同士を比較することが出来ます。 また .compare() を使うと比較結果を戻り値で返してくれます。 std::string str1("ABC"); // str1を "ABC" で初期化して作成 std::string str2 = str1; // str1 をコピーして str2を作成 // str1 と str2 を比較 if(str1 == str2){ std::cout << str1 + "と" + str2 + "は同じ" << std::endl; } **文字の取得 文字列から文字を取り出すには [] 演算子か .at() を使います。 std::string str("abcdef"); // str を "abcdef" で初期化して作成 char c1 = str[0]; // strの0番目 'a' を c1 に入れる char c2 = str.at(5); // strの5番目 'f' を c2 に入れる std::cout << c1 << c2 << std::endl; //c1 と c2 を表示 **文字列の取得 .substr() を使うと指定した部分の文字列が返ってきます。 第1引数が取り出す位置で、第2引数が取り出す長さです。 std::string str1("Hello World!!"); std::string str2; str2 = str1.substr(6,5); // str の6番目から5文字 "World" を抜き出して str2 に代入 std::cout << str2 << std::endl; // str2を表示 第2引数を省略すると文字列の最後まで取り出されます。 **文字列の長さを調べる 文字列の長さを調べるには .length() か .size() を使います。 これら2つは同じ意味です。 std::string str("abc"); // str の長さを表示 std::cout << str.length()<< std::endl << str.size() << std::endl; 日本語は2バイト文字という点に気をつけましょう。 **文字列が空かどうか調べる .empty() を使うと、文字列が空のとき true を返し、それ以外のとき false を返します。 **練習問題 次のようなプログラムを作ってください 第1問  ユーザーからの入力を文字列に割り当て  "Apple"という文字と比較する。  また比較した結果によりメッセージを出力する。 第2問  ユーザーからの入力を文字列に割り当て、  長さが5以上の文字列が入力されるまで繰り返す abc 5文字以上入力してください hello オッケー testcounter 合計 &counter(total) 今日 &counter(today) 昨日 &counter(yesterday)

表示オプション

横に並べて表示:
変化行の前後のみ表示:
目安箱バナー