_strrev, _wcsrev, _mbsrev, _mbsrev_l
Меняет порядок символов в строке на обратный.
Важно!
_mbsrev и _mbsrev_l не могут использоваться в приложениях, выполняемых в Среда выполнения Windows.Дополнительные сведения см. в статье Функции CRT, которые не поддерживаются с ключом /ZW.
char *_strrev(
char *str
);
wchar_t *_wcsrev(
wchar_t *str
);
unsigned char *_mbsrev(
unsigned char *str
);
unsigned char *_mbsrev_l(
unsigned char *str,
_locale_t locale
);
Параметры
str
Строка, заканчивающаяся нулевым символом, для изменения порядка символов.locale
Языковой стандарт, который необходимо использовать.
Возвращаемое значение
Возвращает указатель на измененную строку. Нет зарезервированных возвращаемых значений для указания ошибки.
Заметки
Функция _strrev обращает порядок символов в string. Завершающий нулевой символ остается на месте. _wcsrev и _mbsrev — двубайтовая и многобайтовая символьные версии _strrev. Аргументы и возвращаемое значение _wcsrev представляют собой двухбайтовые строки; аргументы и возвращаемое значение _mbsrev представляют собой многобайтовые строки. Для _mbsrev порядок байтов в каждом многобайтовом символе string не изменяется. В остальных случаях эти три функции ведут себя идентично.
_mbsrev проверяет свои параметры. Если либо string1, либо string2 является указателем на null, то вызывается обработчик недопустимого параметра, как описано в разделе Проверка параметров. Если выполнение может быть продолжено, то _mbsrev возвращает NULL и устанавливает errno в EINVAL. _strrev и _wcsrev не проверяют свои параметры.
Выходное значение зависит от настройки категории LC_CTYPE языкового стандарта; дополнительные сведения см. в разделе setlocale, _wsetlocale. Версии этих функций с суффиксом _l идентичны версиям без суффикса, за исключением того, что версии с суффиксом _l используют переданный параметр языкового стандарта вместо текущего языкового стандарта. Для получения дополнительной информации см. Языковой стандарт.
![]() |
---|
Эти функции могут быть подвержены угрозам переполнения буфера.Переполнение буфера можно использовать для атак на систему, поскольку оно может привести к несанкционированному повышению уровня привилегий.Дополнительные сведения см. в разделе Как избежать переполнения буфера. |
Универсальное текстовое сопоставление функций
Подпрограмма TCHAR.H |
_UNICODE & _MBCS не определены |
_MBCS определено |
_UNICODE определено |
---|---|---|---|
_tcsrev |
_strrev |
_mbsrev |
_wcsrev |
Н/Д |
Н/Д |
_mbsrev_l |
Н/Д |
Требования
Подпрограмма |
Обязательный заголовок |
---|---|
_strrev |
<string.h> |
_wcsrev |
<string.h> или <wchar.h> |
_mbsrev, _mbsrev_l |
<mbstring.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
// crt_strrev.c
// This program checks a string to see
// whether it is a palindrome: that is, whether
// it reads the same forward and backward.
//
#include <string.h>
#include <stdio.h>
int main( void )
{
char* string = "Able was I ere I saw Elba";
int result;
// Reverse string and compare (ignore case):
result = _stricmp( string, _strrev( _strdup( string ) ) );
if( result == 0 )
printf( "The string \"%s\" is a palindrome\n", string );
else
printf( "The string \"%s\" is not a palindrome\n", string );
}
Эквивалент в .NET Framework
Неприменимо. Для вызова стандартной функции C используйте PInvoke. Для получения дополнительной информации см. Примеры вызовов неуправляемого кода.