Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Hittar ett tecken i en sträng med hjälp av det aktuella språket eller en angiven LC_CTYPE kategori för konverteringstillstånd.
Important
_mbschr och _mbschr_l kan inte användas i program som körs i Windows Runtime. Mer information finns i CRT-funktioner som inte stöds i universella Windows Platform-appar.
Syntax
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
Parameters
str
Null-avslutad källsträng.
c
Tecken som ska finnas.
locale
Nationella inställningar som ska användas.
Returvärde
Var och en av dessa funktioner returnerar en pekare till den första förekomsten av c i str, eller NULL om c den inte hittas.
Remarks
Funktionen strchr hittar den första förekomsten av c i str, eller returnerar NULL om c den inte hittas. Null-avslutande tecknet ingår i sökningen.
wcschr, _mbschr och _mbschr_l är wide-character- och multibyte-teckenversioner av strchr. Argumenten och returvärdet för är strängar med wcschr breda tecken. Argumenten och returvärdet _mbschr för är strängar med flerabytestecken.
_mbschr identifierar sekvenser med flerabytestecken. Om strängen är en null-pekare _mbschr anropar den ogiltiga parameterhanteraren, enligt beskrivningen i Parameterverifiering. Om körningen tillåts fortsätta _mbschr returneras NULL och anges errno till EINVAL.
strchr och wcschr verifiera inte deras parametrar. Dessa tre funktioner fungerar identiskt annars.
Utdatavärdet påverkas av inställningen för kategoriinställningen LC_CTYPE för nationella inställningar. Mer information setlocalefinns i . Versionerna av dessa funktioner utan _l suffixet använder det aktuella språket för det här språkberoende beteendet. Versionerna med suffixet _l är identiska förutom att de använder språkparametern som skickades in i stället. Mer information finns i Nationella inställningar.
I C tar dessa funktioner en const pekare för det första argumentet. I C++är två överlagringar tillgängliga. Överlagringen som tar en pekare för att const returnera en pekare till const. Den version som tar en pekare till icke-const returnerar en pekare till icke-const. Makrot _CRT_CONST_CORRECT_OVERLOADS definieras om både och const icke-versionerconst av dessa funktioner är tillgängliga. Om du behöver icke-beteendet för båda C++-const överlagringarna definierar du symbolen _CONST_RETURN.
Som standard är den här funktionens globala tillstånd begränsat till programmet. Information om hur du ändrar det här beteendet finns i Globalt tillstånd i CRT.
Allmän textrutinmappning
TCHAR.H rutin |
_UNICODE och _MBCS inte definierad |
_MBCS definierad |
_UNICODE definierad |
|---|---|---|---|
_tcschr |
strchr |
_mbschr |
wcschr |
Requirements
| Rutin | Obligatorisk rubrik |
|---|---|
strchr |
<string.h> |
wcschr |
<string.h> eller <wchar.h> |
_mbschr, _mbschr_l |
<mbstring.h> |
Mer information om kompatibilitet finns i Kompatibilitet.
Example
// 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 );
}
String to be searched:
The quick brown dog jumps over the lazy fox
1 2 3 4 5
12345678901234567890123456789012345678901234567890
Search char: r
Result: first r found at position 12
Result: last r found at position 30
Se även
Strängmanipulering
regionala inställningar
Tolkning av sekvenser med flerabytestecken
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
strrchr, wcsrchr, , _mbsrchr_mbsrchr_l
strstr, wcsstr, , _mbsstr_mbsstr_l