※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

宣言


string str;          // 空のstring
string str("abcde"); // 初期値として"abcde"

操作

  • strcat()
str1 += str2;   // str1の末尾にstr2を連結
  • strcmp
str1 == "abcdefghij"  // 2つの文字列を比較	
  • strlen
str.size();
str.empty();  (=str.size(str) == 0)

従来の文字列への変換

str.c_str();
c_str()を使ったとき返される文字列の末尾には'\0'が付加される。


部分文字列

string str( "abcdefghijk" );
str.substr( 5 );    // "fghijk"
str.substr( 5, 3 ); // "fgh"

検索

string str( "abcdefghijk" );
string::size_type index = str.find( "fgh" );  
if( index == string::npos )  // 検索できたかどうか
{
  cout << "検索に失敗しました" << endl;
}
else
{
  cout << str.substr( index ) << endl;
}
 return 0;
} 
検索の各種関数の戻り値はstring::size_type。
string::nposとの比較は、string::size_type型。

文字列逆転関数

string reverse(string str) {
    int size = str.size();
    int i;
    char * newStr = new char[size+1];

    for(i=0;i<size;i++) {
        newStr[i] = str[size-1-i];
    }
        newStr[size] = '\0';
        str = newStr;
        return str;
} 	






.