strchr, wcschr, _mbschr, _mbschr_l
Cercare un carattere in una stringa, utilizzando le impostazioni locali correnti o di una determinata categoria dello stato di conversione di LC_CTYPE.
Importante |
---|
_mbschr e _mbschr_l non possono essere utilizzati nelle applicazioni eseguite nelle finestre runtime.Per ulteriori informazioni, vedere Funzioni CRT non supportate con /ZW. |
char *strchr(
const char *str,
int c
); // C only
char *strchr(
char * str,
int c
); // C++ only
const char *strchr(
const char * str,
int c
); // C++ only
wchar_t *wcschr(
const wchar_t *str,
wchar_t c
); // C only
wchar_t *wcschr(
wchar_t *str,
wchar_t c
); // C++ only
const wchar_t *wcschr(
const wchar_t *str,
wchar_t c
); // C++ only
unsigned char *_mbschr(
const unsigned char *str,
unsigned int c
); // C only
unsigned char *_mbschr(
unsigned char *str,
unsigned int c
); // C++ only
const unsigned char *_mbschr(
const unsigned char *str,
unsigned int c
); // C++ only
unsigned char *_mbschr_l(
const unsigned char *str,
unsigned int c,
_locale_t locale
); // C only
unsigned char *_mbschr_l(
unsigned char *str,
unsigned int c,
_locale_t locale
); // C++ only
const unsigned char *_mbschr_l(
const unsigned char *str,
unsigned int c,
_locale_t locale
); // C++ only
Parametri
str
Stringa di origine con terminazione null.c
Carattere da individuare.locale
Impostazioni locali da utilizzare.
Valore restituito
Ognuna di queste funzioni restituisce un puntatore alla prima occorrenza di c in str, o NULL se c non viene trovato.
Note
La funzione di strchr cercare la prima occorrenza di c in str, o restituisce NULL se c non viene trovato.Il carattere di terminazione null è incluso nella ricerca.
wcschr, _mbschr e _mbschr_l disponibili versioni a caratteri estesi e di caratteri multibyte di strchr.Gli argomenti e il valore restituito di wcschr sono stringhe di caratteri di tipo "wide", quelli di _mbschr sono stringhe di caratteri multibyte._mbschr riconosce le sequenze di caratteri multibyte.Inoltre, se la stringa è un puntatore null, _mbschr richiamato il gestore non valido di parametro, come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, _mbschr restituisce NULL e imposta errno a EINVAL.strchr e wcschr non convalidano i relativi parametri.Altrimenti queste tre funzioni si comportano in modo identico.
Il valore di output è interessato dall'impostazione dell'impostazione di categoria di LC_CTYPE delle impostazioni locali; per ulteriori informazioni, vedere setlocale.Le versioni di queste funzioni senza il suffisso _l utilizzano le impostazioni locali correnti per il comportamento dipendente dalle impostazioni locali; le versioni con il suffisso _l sono identiche, ad eccezione del fatto che utilizzano il parametro delle impostazioni locali che viene passato.Per ulteriori informazioni, vedere Impostazioni locali.
In C, queste funzioni accettano un puntatore const come primo argomento.In C++, sono disponibili due overload.L'overload che accetta un puntatore a const restituisce un puntatore a const; la versione che accetta un puntatore a un non-const non restituisce un puntatore a un non-const.La macro _CONST_CORRECT_OVERLOADS è definito se è entrambe le versioni const e non-const di queste funzioni sono disponibili.Se è necessario che entrambi gli overload C++ abbiano il comportamento non-const, definire il simbolo _CONST_RETURN.
Mapping di routine a Testo generico
TCHAR.H routine |
_UNICODE & _MBCS non definiti |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tcschr |
strchr |
_mbschr |
wcschr |
_n/a |
n/d |
_mbschr_l |
n/d |
Requisiti
Routine |
Intestazione obbligatoria |
---|---|
strchr |
<string.h> |
wcschr |
<string.h> o <wchar.h> |
_mbschr, _mbschr_l |
<mbstring.h> |
Per ulteriori informazioni sulla compatibilità, vedere Compatibilità.
Esempio
// crt_strchr.c
//
// This program illustrates searching for a character
// with strchr (search forward) or strrchr (search backward).
//
#include <string.h>
#include <stdio.h>
int ch = 'r';
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_s( "String to be searched:\n %s\n", string );
printf_s( " %s\n %s\n\n", fmt1, fmt2 );
printf_s( "Search char: %c\n", ch );
// Search forward.
pdest = strchr( string, ch );
result = (int)(pdest - string + 1);
if ( pdest != NULL )
printf_s( "Result: first %c found at position %d\n",
ch, result );
else
printf_s( "Result: %c not found\n", ch );
// Search backward.
pdest = strrchr( string, ch );
result = (int)(pdest - string + 1);
if ( pdest != NULL )
printf_s( "Result: last %c found at position %d\n", ch, result );
else
printf_s( "Result:\t%c not found\n", ch );
}
Equivalente .NET Framework
Vedere anche
Riferimenti
Interpretazione delle sequenze di caratteri multibyte
strcspn, wcscspn, _mbscspn, _mbscspn_l
strncat, _strncat_l, wcsncat, wcsncat_l, _mbsncat _mbsncat_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
strpbrk, wcspbrk, _mbspbrk, _mbspbrk_l