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 (каждый символ интерпретируется как unsigned char). Завершающий нулевой символ считается частью строки и может быть найден при поиске '\0'.
2) Универсальная по типу функция, эквивалентная (1). Пусть
T — это тип неопределённого объекта символа.
- Если
strимеет типconst T*, тип возвращаемого значения —const char*. - В противном случае, если
strимеет типT*, тип возвращаемого значения —char*. - В противном случае, поведение не определено.
(strrchr) или указатель на функцию), то объявление фактической функции (1) становится видимым.
Поведение не определено, если str не является указателем на строку байтов с нулевым завершением.
Параметры
| str | - | указатель на строку байтов с нулевым завершением для анализа |
| ch | - | символ для поиска |
Возвращаемое значение
Указатель на найденный символ в str, или нулевой указатель, если такой символ не найден.
Пример
#include <string.h>
#include <stdio.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
Ссылки
- Стандарт 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/w/c/string/byte/strrchr