STRREV |
Inverse la chaine de caractères |
---|---|
NON IMPLANTÉ | string.h |
Syntaxe
char * strrev(char * s); |
Paramètres
Nom | Description |
---|---|
s | Ce paramètre permet d'indiquer une chaîne de caractères à traiter |
Description
Cette fonction permet d'inverser l'ordre de chacun des caractères de la chaîne de caractères.
Remarque
- ATTENTION ! Cette fonction n'est pas encore définit dans le C pour Linux standard, vous recevrez donc une erreur de ce genre «undefined reference to `strrev'», pour contourner le problème vous devriez donc la définir vous-même de la façon suivante :
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- char strTmp[255];
- char *strrev(char *str) {
- char *p1, *p2;
- strcpy(strTmp,str);
- if (! strTmp || ! *str) return strTmp;
- for (p1 = strTmp, p2 = strTmp + strlen(str) - 1; p2 > p1; ++p1, --p2) {
- *p1 ^= *p2;
- *p2 ^= *p1;
- *p1 ^= *p2;
- }
- return strTmp;
- }
- int main()
- {
- printf("LAVAL = %s\n", strrev("LAVAL"));
- printf("MAL = %s\n", strrev("MAL"));
- printf("SYL = %s\n", strrev("SYL"));
- return 0;
- }
on obtiendra le résultat suivant :
LAVAL = LAVALMAL = LAM
SYL = LYS
Voir également
Langage de programmation - Quick C - Référence de procédures et de fonctions - strrev
Langage de programmation - PHP - Référence de procédures et de fonctions - strrev
Dernière mise à jour : Samedi, le 27 juin 2015