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

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

Patricia Arquette
リリース: 2024-11-30 02:40:09
オリジナル
136 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート