probleme accents caratere en C - C - Programmation
Marsh Posté le 25-03-2007 à 16:17:03
Salut,
Chez moi ca fonctionne :
Code :
|
Code :
|
Marsh Posté le 25-03-2007 à 17:10:05
ah oui la fonction a l'air de marcher, ca me rassur, donc finalement ca doit etre ma boucle qui a un probleme... Je devrais arriver a regler ca.
merci
Marsh Posté le 25-03-2007 à 17:21:42
ai je le droit de modifier une chaine de caracteres... C'est peut etre pour ca en fait car je veux qu'en rentrant une phrase tous les accents soient enleves :
char* ma_phrase;
scanf("%s",ma_phrase);
for (n=0;n<taille_de_la_phrase;n++)
{
ma_phrase[n]=Formatte_lettre_en_Majuscule(ma_phrase[n]);
}
mais j'ai un doute il me semble bien que je n'ai pas le droit de modifier une chaine de caracteres en %s.....
Marsh Posté le 25-03-2007 à 20:03:34
cyber81 a écrit : ai je le droit de modifier une chaine de caracteres... |
Une chaine littérale ? Non.
Citation :
|
mais j'ai un doute il me semble bien que je n'ai pas le droit de modifier une chaine de caracteres en %s.....
Quelle chaine de caractères ? Je ne vois qu'un pointeur non initialisé. Le comportement est indéfini.
Tu devrais utiliser un tableau de char...
Code :
|
Mais attention :
- pas de contrôle de débordement.
- la copie s'arrête au premier espace rencontré.
Je suggère fgets(), en pensant à proprement retirer le \n ou a purger en cas d'absence...
http://mapage.noos.fr/emdel/inputs.htm
Marsh Posté le 25-03-2007 à 20:53:50
tu as 2 fonctions en C qui font ça toutes seules :
strupr(string) te transforme la chaine en majuscule
strlwr(string) te transforme la chaine en minuscule
Par contre, ça ne traite pas les accents, il me semble...
Marsh Posté le 25-03-2007 à 21:32:11
Sous Windows, ceci fonctionne très bien
Code :
|
et transforme n'importe quelle lettre accentuée en majuscule.
Marsh Posté le 25-03-2007 à 22:47:40
Pepsilite a écrit : tu as 2 fonctions en C qui font ça toutes seules : |
Ces fonctions ne sont pas standards C.
Marsh Posté le 26-03-2007 à 16:54:23
ça va surtout ne marcher que si tu as un charset ou les caractères sont représentés avec un seul octet et que le codage du fichier source, le codage géré par le compilateur et le codage à l'exécution sont les mêmes.
Marsh Posté le 25-03-2007 à 13:16:09
Salut tout le monde,
Je veux transformer les lettres en majuscules. Je n'arrive pas a transformer celle avec accents, je ne sais pas pourquoi... Voici ma fonction :
Le probleme c'est que ca n'a pas l'air de reconnaitre les lettres avec accent... J'ai aussi essayé avec leur code ASCII :
.......
mais sans succes...
Si quelqu'un a une idee?
Merci de m'avoir lu.