文字列内のすべての文字について質問する

文字列内のすべての文字について質問する

C++ で文字列内のすべての文字に対して for ループを実行するにはどうすればよいでしょうか?

ベストアンサー1

  1. ループする文字範囲ベースの for ループを使用したのstd::string(これは C++11 からのもので、GCC、clang、および VC11 ベータの最近のリリースですでにサポートされています)。

    std::string str = ???;
    for(char& c : str) {
        do_things_with(c);
    }
    
  2. std::stringイテレータを使用して a の文字をループします。

    std::string str = ???;
    for(std::string::iterator it = str.begin(); it != str.end(); ++it) {
        do_things_with(*it);
    }
    
  3. std::string昔ながらの for ループを使用してa の文字をループします。

    std::string str = ???;
    for(std::string::size_type i = 0; i < str.size(); ++i) {
        do_things_with(str[i]);
    }
    
  4. ヌルで終了する文字配列の文字をループします。

    char* str = ???;
    for(char* it = str; *it; ++it) {
        do_things_with(*it);
    }
    

おすすめ記事