Функция strstr() и "\r\n"
const char * strstr ( const char * str1, const char * str2 );
char * strstr ( char * str1, const char * str2 );
Возвращает указатель на первое вхождение str2 в str1 или нулевой указатель, если str2 не является частью str1
Допустим char* str2=new char(5000)
объявляется так, и символы из файла считываются в str2
,
Как работает strstr, если str2
содержит несколько\r
' или же '\n
'персонажи Остановится ли он, как только попадет\n
' или же '\r
'или это продолжается? Кроме того, если это продолжается, есть ли способ остановить функцию в определенный момент str2
?
2 ответа
strstr()
Функция останавливается на и возвращает первый символ в str1
где строка str2
найден. Итак, если ищете str2 = "\r\n";
, он вернет указатель на первый\r
за которым сразу следует\n
". Если он встречает\r
"сопровождается чем-то другим, чем"\n
', это игнорирует это'\r
". Функции прекращают поиск только тогда, когда они находят нужную строку или когда они сталкиваются с NUL '\0
' в str1
, отмечая конец строки.
Если вы ищете первый символ в наборе символов "\r\n"
то вам нужно посмотреть на strspn()
и / или strcspn()
функции.