Compartilhar via


strstr, wcsstr, _mbsstr, _mbsstr_l

Retornar um ponteiro para a primeira ocorrência de uma cadeia de caracteres de pesquisa em uma cadeia de caracteres.

Observação importanteImportante

_mbsstr e _mbsstr_l não podem ser usados em aplicativos executados em Tempo de Execução do Windows.Para obter mais informações, consulte Funções de CRT não suportadas com /ZW.

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
    Cadeia de caracteres NULL- finalizada a pesquisa.

  • strSearch
    Cadeia de caracteres NULL- finalizada para procurar por.

  • locale
    A localidade usar.

Valor de retorno

Retorna um ponteiro para a primeira ocorrência de strSearch em str, ou NULL se strSearch não aparece em str.Se os pontos de strSearch a uma cadeia de caracteres de comprimento zero, a função retorna str.

Comentários

A função de strstr retorna um ponteiro para a primeira ocorrência de strSearch em str.A pesquisa termine não inclui caracteres nulos.wcsstr e _mbsstr são versões de largo- caractere e o caractere multibyte- de strstr.Os argumentos e o valor de retorno de wcsstr são cadeias de caracteres de largo- caractere; essas de _mbsstr são cadeias de caracteres de multibyte- caractere._mbsstr valida os seus parâmetros.Se str ou strSearch são NULL, o manipulador inválido do parâmetro é invocado, como descrito em Validação de parâmetro .Se a execução é permitida continuar, _mbsstr define errno a EINVAL e retorna 0.strstr e wcsstr não validam seus parâmetros.Essas três funções se comportam de forma idêntica.

Observação de segurançaObservação de segurança

Essas funções têm uma ameaça potencial causada por um problema de estouro de buffer.Problemas de estouro de buffer são um método frequente de ataque do sistema, resultando em uma despropositado elevação de privilégio.Para obter mais informações, consulte Evitando estouros de buffer.

Em C, essas funções recebem um ponteiro de const para o primeiro argumento.Em C++, duas sobrecargas estão disponíveis.A sobrecarga que utiliza um ponteiro para const retorna um ponteiro para const; a versão que tem um ponteiro paraconst não retorna um ponteiro paraconstnão-.O _CONST_CORRECT_OVERLOADS macro é definido se const e versões não- deconst dessas funções estão disponíveis.Se você não requer o comportamento deconst para ambas as sobrecargas de C++, defina o _CONST_RETURN do símbolo.

O valor de saída é afetado pela configuração da categoria deLC_CTYPE de localidade; para obter mais informações, consulte setlocale.As versões dessas funções sem o sufixo de _l usam a localidade atual para este comportamento de são dependentes; as versões com o sufixo de _l são idênticas exceto que usam o parâmetro de localidade passado em vez disso.Para obter mais informações, consulte Localidade.

Mapeamentos da rotina de Genérico- texto

Rotina de TCHAR.H

_UNICODE & _MBCS não definidos

_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 a 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 );
}
  

Equivalência do .NET Framework

System::String::IndexOf

Consulte também

Referência

Manipulação de cadeia de caracteres (CRT)

Localidade

Interpretação de seqüências de caracteres Multibyte

strcspn, wcscspn, _mbscspn, _mbscspn_l

strcmp, wcscmp, _mbscmp

strpbrk, wcspbrk, _mbspbrk, _mbspbrk_l

strrchr, wcsrchr, _mbsrchr, _mbsrchr_l

strspn, wcsspn, _mbsspn, _mbsspn_l