ホームページ >バックエンド開発 >C++ >C で文字列文字を反復するにはどうすればよいですか?

C で文字列文字を反復するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-30 02:40:09135ブラウズ

How Can I Iterate Over String Characters in C  ?

C での文字列文字の反復

文字列を扱う場合、各文字を個別に反復する必要がよくあります。 C でこれを実現する方法は次のとおりです:

1.範囲ベースの For ループ (モダン C )

std::string str = "...";
for (char& c : str) {
    // Operations on c here
}

このメソッドは、for 範囲ベースのループを使用します。これにより、サポートするコンテナーの要素を反復処理するためのタイプセーフで簡潔な方法が提供されます。 begin() メソッドと end() メソッド。

2.イテレータベースのループ

std::string str = "...";
for (std::string::iterator it = str.begin(); it != str.end(); ++it) {
    // Operations on *it here (dereference the iterator)
}

このメソッドは、イテレータを使用してコンテナを走査します。イテレータは、基になるデータ構造をナビゲートするための柔軟かつ低レベルの方法を提供します。

3.従来の For ループ

std::string str = "...";
for (std::string::size_type i = 0; i < str.size(); ++i) {
    // Operations on str[i] here (access the character directly)
}

これは古典的な for ループのアプローチであり、[] 演算子を使用してインデックスを制御し、文字に直接アクセスします。ほとんどのユースケースでは、そのシンプルさと読みやすさのため、範囲ベースの for ループが好まれます。

4. Null で終了する C スタイルの文字列

古いスタイルの Null で終了する文字配列の場合は、次のループを使用します。

char str[] = "...";
char* it = str;
while (*it) {
    // Operations on *it here (dereference pointer)
    ++it;
}

これらのアプローチでは、さまざまな操作を実行できます。ループ内の文字 (文字列操作、文字カウント、検索など)。

以上がC で文字列文字を反復するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。