1
const char * strstr ( const char * str1, const char * str2 );
      char * strstr (       char * str1, const char * str2 );

str1で最初に出現するstr2へのポインタを返します。また、str2がstr1の一部でない場合はnullポインタを返します。

char* str2=new char(5000)このように宣言され、ファイルの文字がに​​読み込まれるとしますstr2

str2複数の' \r'または' '文字が含まれている場合、strstrはどのように機能しますか\n\n' 'または''に当たると停止しますか、\rそれとも継続しますか?また、続行する場合、の特定の時点で機能を停止する方法はありますstr2か?

4

2 に答える 2

1

関数はstrstr()で停止しstr1、文字列str2が見つかった場所の最初の文字を返します。したがって、をstr2 = "\r\n";検索すると、最初の''へのポインタが返さ\rれ、その直後に''が続き\nます。\r' ''の後に''以外のものが続く場合\n、これを無視します' \r'。関数は、目的の文字列を見つけたとき、または文字列の終わりを示す NUL' \0'に遭遇したときにのみ、検索を停止します。str1

文字セットの最初の文字を探している場合は、および/または関数"\r\n"を調べる必要があります。strspn()strcspn()

于 2011-04-07T22:43:46.920 に答える
1

文字列の終わりまで進み続けます('\0'

于 2011-04-07T22:44:34.673 に答える