C文字列に単一の文字が含まれているかどうかを確認したい。文字はLinuxのパイプラインに使用される'|'
です(実際、'<'
、'>'
、'>>'
、'&'
もチェックします)。
Java私はこれを行うことができます:
String.indexOf()
しかし、文字列全体(char*
文字列)をループせずに、Cでこれを行うにはどうすればよいですか?
strchr
はあなたの友達です。
char *strchr(const char *s, int c);
strchr
関数は、c
が指す文字列内で最初に出現するchar
(s
に変換)を見つけます。
strchr
関数は、検索された文字へのポインターを返します。文字が文字列に出現しない場合は、nullポインターを返します。
そしてもちろん、関数は最悪の場合(Java関数がおそらく行うように)に文字列全体をウォークスルーする必要があります。