Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Ищет последнее вхождение символа в строке.
Внимание
Функции _mbsrchr и _mbsrchr_l не могут использоваться в приложениях, запускаемых в среде выполнения Windows. Дополнительные сведения: Функции CRT, которые не поддерживаются в приложениях универсальной платформы Windows.
Синтаксис
char *strrchr(
const char *str,
int c
); // C only
char *strrchr(
char *str,
int c
); // C++ only
const char *strrchr(
const char *str,
int c
); // C++ only
wchar_t *wcsrchr(
const wchar_t *str,
wchar_t c
); // C only
wchar_t *wcsrchr(
wchar_t *str,
wchar_t c
); // C++ only
const wchar_t *wcsrchr(
const wchar_t *str,
wchar_t c
); // C++ only
unsigned char *_mbsrchr(
const unsigned char *str,
unsigned int c
); // C only
unsigned char *_mbsrchr(
unsigned char *str,
unsigned int c
); // C++ only
const unsigned char *_mbsrchr(
const unsigned char *str,
unsigned int c
); // C++ only
unsigned char *_mbsrchr_l(
const unsigned char *str,
unsigned int c,
_locale_t locale
); // C only
unsigned char *_mbsrchr_l(
unsigned char *str,
unsigned int c,
_locale_t locale
); // C++ only
const unsigned char *_mbsrchr_l(
const unsigned char *str,
unsigned int c,
_locale_t locale
); // C++ only
Параметры
str
Строка для поиска, завершающаяся символом NULL.
c
Символ, который требуется найти.
locale
Используемый языковой стандарт.
Возвращаемое значение
Возвращает указатель на последнее вхождение cstrили NULL не c найден.
Замечания
Функция strrchr находит последнее вхождение c (преобразованного в char) в str. Поиск включает конечный NULL символ.
Функции wcsrchr и _mbsrchr являются версиями функции strrchr для расширенных и многобайтовых символов. Аргументы и возвращаемые значения wcsrchr являются строками с широкими символами. Аргументы и возвращаемое значение _mbsrchr являются многобайтовыми строками.
В языке C эти функции принимают указатель const в качестве первого аргумента. В языке C++ доступны две перегрузки. Перегрузка, принимающая указатель на const, возвращает указатель на const; версия, которая принимает указатель на не-const, возвращает указатель на не-const. Макрос _CRT_CONST_CORRECT_OVERLOADS определяется, если доступны обе const версии этих функций и неconst являются. Если требуется поведение, отличноеconst от обоих перегрузки C++, определите символ _CONST_RETURN.
Кроме того, функция _mbsrchr проверяет свои параметры. В противном strNULLслучае вызывается недопустимый обработчик параметров, как описано в разделе "Проверка параметров". Если выполнение может быть продолжено, параметр errno принимает значение EINVAL, а функция _mbsrchr возвращает значение 0.
strrchr и wcsrchr не проверяйте их параметры. В остальном эти три функции ведут себя идентично.
Выходное значение зависит от параметра LC_CTYPE категории языкового стандарта; дополнительные сведения см. в разделе setlocale. Версии этих функций без суффикса _l используют текущий языковой стандарт для данного поведения, зависимого от языкового стандарта. Версии с суффиксом _l идентичны, однако они используют переданный параметр языкового стандарта. Дополнительные сведения см. в разделе Locale.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Сопоставления подпрограмм универсального текста
| Подпрограмма TCHAR.H |
_UNICODE и _MBCS не определен |
_MBCS Определенные |
_UNICODE Определенные |
|---|---|---|---|
_tcsrchr |
strrchr |
_mbsrchr |
wcsrchr |
| Недоступно | Недоступно | _mbsrchr_l |
Недоступно |
Требования
| Маршрут | Обязательный заголовок |
|---|---|
strrchr |
<string.h> |
wcsrchr |
<string.h> или <wchar.h> |
_mbsrchr, _mbsrchr_l |
<mbstring.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
Пример использования strrchrсм. в разделе strchr.
См. также
Обработка строк
Локаль
Интерпретация последовательностей многобайтовых символов
strchr, , wcschr_mbschr_mbschr_l
strcspn, , wcscspn_mbscspn_mbscspn_l
_strnicmp, , _wcsnicmp_mbsnicmp_strnicmp_l_wcsnicmp_l,_mbsnicmp_l
strpbrk, , wcspbrk_mbspbrk_mbspbrk_l
strspn, , wcsspn_mbsspn_mbsspn_l