strrchr
Определено в заголовочном файле <string.h> | ||
|---|---|---|
char* strrchr( const char* str, int ch ); | (1) | |
/*QChar*/* strrchr( /*QChar*/* str, int ch ); | (2) | (начиная с C23) |
1) Находит последнее вхождение
ch (после преобразования в char, как если бы оно выполнялось с помощью (char)ch) в нуль-терминированной байтовой строке, на которую указывает str (каждый символ интерпретируется как unsignedchar). Завершающий нулевой символ считается частью строки и может быть найден, если искать '\0'.
2) Обобщённая по типу функция, эквивалентная (1). Пусть
T — неквалифицированный тип символьного объекта. - Если
strимеет тип constT*, возвращаемый тип — constchar*. - Иначе, если
strимеет тип T*, возвращаемый тип — char*. - В противном случае поведение не определено.
(strrchr) или указатель на функцию), объявление фактической функции (1) становится видимым.Поведение не определено, если str не является указателем на нуль-терминированную байтовую строку.
Параметры
| str | - | указатель на анализируемую нуль-терминированную байтовую строку |
| ch | - | символ для поиска |
Возвращаемое значение
Указатель на найденный символ в str или нулевой указатель, если такой символ не найден.
Пример
#include <stdio.h>
#include <string.h>
int main(void)
{
char szSomeFileName[] = "foo/bar/foobar.txt";
char* pLastSlash = strrchr(szSomeFileName, '/');
char* pszBaseName = pLastSlash ? pLastSlash + 1 : szSomeFileName;
printf("Base Name: %s", pszBaseName);
}
Вывод:
Base Name: foobar.txt
Ссылки
- Стандарт C23 (ISO/IEC 9899:2024):
- 7.24.5.5 Функция strrchr (с. TBD)
- Стандарт C17 (ISO/IEC 9899:2018):
- 7.24.5.5 Функция strrchr (с. TBD)
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.24.5.5 Функция strrchr (с. 368–369)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.21.5.5 Функция strrchr (с. 331)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
- 4.11.5.5 Функция strrchr
См. также
| находит первое вхождение символа (функция) |
|
| находит в одной строке первое вхождение любого символа из другой строки (функция) |
|
Документация C++ для strrchr |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/string/byte/strrchr