strstr, wcsstr, _mbsstr, _mbsstr_l
Retornar um ponteiro para a primeira ocorrência de uma seqüência de Pesquisar em uma seqüência de caracteres.
char *strstr(
const char *str,
const char *strSearch
); // C only
char *strstr(
char *str,
const char *strSearch
); // C++ only
const char *strstr(
const char *str,
const char *strSearch
); // C++ only
wchar_t *wcsstr(
const wchar_t *str,
const wchar_t *strSearch
); // C only
wchar_t *wcsstr(
wchar_t *str,
const wchar_t *strSearch
); // C++ only
const wchar_t *wcsstr(
const wchar_t *str,
const wchar_t *strSearch
); // C++ only
unsigned char *_mbsstr(
const unsigned char *str,
const unsigned char *strSearch
); // C only
unsigned char *_mbsstr(
unsigned char *str,
const unsigned char *strSearch
); // C++ only
const unsigned char *_mbsstr(
const unsigned char *str,
const unsigned char *strSearch
); // C++ only
unsigned char *_mbsstr_l(
const unsigned char *str,
const unsigned char *strSearch,
_locale_t locale
); // C only
unsigned char *_mbsstr_l(
unsigned char *str,
const unsigned char *strSearch,
_locale_t locale
); // C++ only
const unsigned char *_mbsstr_l(
const unsigned char *str,
const unsigned char *strSearch,
_locale_t locale
); // C++ only
Parâmetros
str
Seqüência terminada por caractere nulo para pesquisar.strSearch
Seqüência terminada por caractere nulo para pesquisar.locale
Localidade usar.
Valor de retorno
Retorna um ponteiro para a primeira ocorrência de strSearch em str, ou NULL Se strSearch não é exibido na str. If strSearch aponta para uma seqüência de caracteres de comprimento zero, a função retornará str.
Comentários
The strstr função retorna um ponteiro para a primeira ocorrência de strSearch em str. A Pesquisar não inclui caracteres nulo de terminação.wcsstr e _mbsstrsão versões de caractere largo e caracteres de multibyte de strstr. Os argumentos e o valor retornado do wcsstr são caractere largos strings; as de _mbsstr são seqüências de caractere de multibyte. _mbsstr valida os parâmetros. If str ou strSearch é NULL, o manipulador de parâmetro inválido é chamado, conforme descrito em Validação de parâmetro . Se a execução for permitida para continuar, _mbsstr Define errno para EINVAL e retorna 0. strstr e wcsstr não validam seus parâmetros. Especifique estas três funções identicamente outro comportam.
Observação de segurança: |
---|
Essas funções incorrer em uma ameaça potencial colocada um problema de saturação de buffer.Problemas de saturação de buffer são um método de ataque do sistema, resultando em uma elevação do privilégio unwarranted freqüente.Para obter mais informações, consulte Evitar saturações de buffer. |
No C, essas funções utilizam um const ponteiro para o primeiro argumento. No C++, estão disponível duas sobrecargas.A sobrecarga levando um ponteiro para const Retorna um ponteiro para const; a versão que leva um ponteiro para não-const Retorna um ponteiro para não-const. _CONST_CORRECT_OVERLOADS macro está definido se ambos os o const e não-const estão disponível versões dessas funções. Se você precisar de não-const comportamento para ambas as sobrecargas de C++, definir _CONST_RETURN símbolo.
O valor de saída é afetado pela configuração do LC_CTYPE categoria de configuração da localidade; para obter mais informações, consulte setlocale.As versões dessas funções sem o _l sufixo use a localidade corrente para esse comportamento dependente de localidade; as versões com o _l sufixo são idênticas exceto que usarem o parâmetro de localidade passado em vez disso. For more information, see Localidade.
Mapeamentos de rotina de texto genérica
Rotina TCHAR.H |
_UNICODE & _MBCS não definido |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tcsstr |
strstr |
_mbsstr |
wcsstr |
n/d |
n/d |
_mbsstr_l |
n/d |
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
strstr |
<string.h> |
wcsstr |
<string.h> ou <wchar.h> |
_mbsstr, _mbsstr_l |
<mbstring.h> |
Para obter mais informações sobre compatibilidade, consulte Compatibilidade.
Exemplo
// crt_strstr.c
#include <string.h>
#include <stdio.h>
char str[] = "lazy";
char string[] = "The quick brown dog jumps over the lazy fox";
char fmt1[] = " 1 2 3 4 5";
char fmt2[] = "12345678901234567890123456789012345678901234567890";
int main( void )
{
char *pdest;
int result;
printf( "String to be searched:\n %s\n", string );
printf( " %s\n %s\n\n", fmt1, fmt2 );
pdest = strstr( string, str );
result = (int)(pdest - string + 1);
if ( pdest != NULL )
printf( "%s found at position %d\n", str, result );
else
printf( "%s not found\n", str );
}
String to be searched: The quick brown dog jumps over the lazy fox 1 2 3 4 5 12345678901234567890123456789012345678901234567890 lazy found at position 36
Equivalente do NET Framework
Consulte também
Referência
Manipulação de seqüência de caracteres (CRT)
Interpretação de seqüências de caractere multibyte
strcspn, wcscspn, _mbscspn, _mbscspn_l
strpbrk, wcspbrk, _mbspbrk, _mbspbrk_l