文字列がcharを含むかどうかを確認する方法は?

テキストファイルがあり、それを読みたい。ある行に [] が含まれているかどうかを知りたいので、:

if(array[i] == "[")

しかし、これはうまくいきません。

文字列が特定の文字を含んでいるかどうかを調べるにはどうしたらよいでしょうか?

質問へのコメント (6)

ドキュメント string::find を見てください。

std::string s = "hell[o";
if (s.find('[') != std::string::npos)
    ; // found
else
    ; // not found
解説 (0)

配列が char* array または char array[] の場合、whileループを通して char を見つけることができる:

while(i < nSize)
    if (array[i] == '[')

注: '[' は正しい文字リテラルですが、"[" は文字列リテラルです。

解説 (1)

文字列のある文字とある文字が等しいかどうかを調べるには、次のような方法で調べる必要があります:

if(array.at(i) == '[') {
}

詳しくは、以下のリンクをご覧ください: https://www.geeksforgeeks.org/string-at-in-cpp/##targetText=string%20at()%20in%20C%2B%2B,characters%20from%a%20given%20string.&targetText=Syntax%202%3A,first%20character%20has%20index%200)

解説 (0)