IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Téléchargé 6 fois
Vote des utilisateurs
0 
2 
Détails
Licence : Freeware
Mise en ligne le 16 octobre 2015
Plate-formes : Linux, Windows
Langue : Français
Référencé dans
Navigation

[C] Ré-écrire une chaîne avec un caractère de décalage pour chaque lettres

Cette fonction C vous permettra de ré-écrire entièrement une chaîne de caractère passé en paramètre mais avec un décalage.
Par exemple :
"abc defg!!"
deviendra :
"bcd efgh!!"
Avatar de picodev
Membre émérite https://www.developpez.com
Le 15/10/2015 à 23:55
Bonjour,
D'un point de vue C, je pourrais te conseiller de ne pas utiliser des chiffres magiques. 'a' est plus clair que 65 par exemple. Tu peux aussi utiliser la fonction isalpha qui te dit si tu as à faire à un caractère alphabétique.
Avatar de Thierry Chappuis
Expert confirmé https://www.developpez.com
Le 16/10/2015 à 8:04
A priori, rien ne garantit en C que les codes numériques des caractères 'a' à 'z' ou 'A' à 'Z' se suivent. C'est uniquement garanti pour les chiffres de '0' à '9'. Je sais toutefois que c'est le cas pour pratiquement tous les encodages courants. Enfin, si tu veux poster une fonction qui a un caractère général du point de vue du C, ce n'est pas une bonne idée de faire des suppositions sur la manière dont les caractères sont encodés. Ca dépend beaucoup trop du système et de la platefome.

Avec mes meilleures salutations

Thierry
Avatar de Martin Lestas
Membre éprouvé https://www.developpez.com
Le 16/10/2015 à 12:52
Je ne connaissais pas le chiffre de césar, je vais modifier le code (ce week-end je pense) quand j'aurais le temps afin de pouvoir à l'aide d'un paramètre boolean par exemple choisir si l'on souhaite incrémenter ou décrémenter les caractères et de combien l'on souhaite incrémenter ou décrémenter.

De plus, vous avez raison utiliser les chiffres magiques (table ASCII) n'est pas très visuel. Je modifierais cela aussi.

Merci pour vos commentaires !
Avatar de ternel
Expert éminent sénior https://www.developpez.com
Le 16/10/2015 à 13:31
Plutot qu'un booléen, il suffit que le décalage puisse être négatif.
Il y a même une astuce, en tenant compte du fait qu'il y a un nombre fini de lettre (ici, 26)

Par contre, ca va devenir plus drole si tu veux supporter les majuscules.
Avatar de Martin Lestas
Membre éprouvé https://www.developpez.com
Le 15/10/2015 à 19:08
Bonjour,

Je vous propose un nouvel élément à utiliser : Ré-écrire une chaîne avec un caractère de décalage pour chaque lettres

Cette fonction C vous permettra de ré-écrire entièrement une chaîne de caractère passé en paramètre mais avec un décalage.

Par exemple :

"abc defg!!"

deviendra :

"bcd efgh!!"

Qu'en pensez-vous ?
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.