Bonjour,
Voici un programme qui réalise la conversion d'une string minuscule en majuscule :
Lorsque je saisi un caractere sur stdin, il le compare à '\n' pour stopper la boucle s'il vaut stdin et réalise la conversion en majuscule sinon.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 #include <ctype.h> #include <stdlib.h> #include <stdio.h> #include <stdbool.h> int main(void) { while (true) { signed char c = getchar(); if (c == '\n') break; switch (c) { case 'é' : putchar('É'); break; case 'è' : putchar('È'); break; case 'ê' : putchar('Ê'); break; default: putchar(toupper(c)); break; } } putchar('\n'); return EXIT_SUCCESS; }
Je ne comprend pas pourquoi les caractères en majuscule resultant de la conversion sont affiché apres mon CR (Carrier Return). Voici un exemple d'utilisation:
Bien que cela ne me dérange pas, je ne comprend pas pourquoi c'est ainsi et pas comme ça :kal@kal-laptop ~ $ ./caracteres
caractères accentués
CARACTÈRES ACCENTUÉS
Merci d'avancecCaArRaAcCtTèÈrReEsS aAcCcCeEnNtTuUéÉsS![]()
Partager