_strrev, _wcsrev, _mbsrev, _mbsrev_l
Permute les caractères d'une chaîne.
Important
_mbsrev and _mbsrev_l ne peuvent pas être utilisés dans les applications qui s'exécutent dans le Windows Runtime.Pour plus d'informations, consultez Fonctions CRT non prises en charge avec /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
);
Paramètres
str
Chaîne terminée par Null à inverser.locale
Paramètres régionaux à utiliser.
Valeur de retour
Retourne un pointeur vers la chaîne modifiée. Aucune valeur de retour n'est réservée pour indiquer une erreur.
Notes
La fonction _strrev inverse l'ordre des caractères dans string. Le caractère null de fin reste en place. _wcsrev et _mbsrev sont des versions à caractères élargis et à caractères multi-octets de _strrev. Les arguments et la valeur de retour de _wcsrev sont des chaînes à caractères larges ; ceux de _mbsrev sont des chaînes de caractères multioctets. Pour _mbsrev, l'ordre d'octet dans chaque caractère multioctets dans string n'est pas modifié. Ces trois fonctions se comportent sinon de façon identique.
_mbsrev valide ses paramètres. Si l'un de string1 ou string2 est un pointeur null, le gestionnaire de paramètres non valides est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, _mbsrev renvoie NULL et attribue à errno la valeur EINVAL. _strrev et _wcsrev ne valident pas leurs paramètres.
La valeur de la sortie est affectée par la valeur du paramètre de la catégorie LC_CTYPE des paramètres régionaux ; consultez setlocale, _wsetlocale pour plus d'informations. Les versions des fonctions sont identiques, sauf pour celles qui ne disposent pas du suffixe _l qui utilisent les version régionales, et celles qui n'ont pas le suffix_l utilisent le paramètre local passé à la place. Pour plus d'informations, consultez Paramètres régionaux.
Note de sécurité |
---|
Ces fonctions peuvent être vulnérables aux menaces de dépassement de mémoire tampon.Les dépassements de mémoire tampon peuvent être utilisés pour les attaques du système, car ils peuvent provoquer une élévation des privilèges injustifiée.Pour plus d'informations, consultez Solutions contre les dépassements de mémoire tampon. |
Mappages de routines de texte générique
Routine TCHAR.H |
_UNICODE & _MBCS non définis |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_tcsrev |
_strrev |
_mbsrev |
_wcsrev |
N/A |
N/A |
_mbsrev_l |
N/A |
Configuration requise
Routine |
En-tête requis |
---|---|
_strrev |
<string.h> |
_wcsrev |
<string.h> ou <wchar.h> |
_mbsrev, _mbsrev_l |
<mbstring.h> |
Pour plus d'informations sur la compatibilité, consultez Compatibilité.
Exemple
// 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 );
}
Équivalent .NET Framework
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de code non managé.