(C) Le programme qui imprime tous les caractères du CP850 à l’écran et dans un fichier a des sorties différentes

Le programme est assez simple, il m’a aidé à obtenir tous les codes ascii car mon ordinateur ne semble pas respecter les normes en vigueur dans les sites Web. Le problème que je constate est que les sorties sur le fichier et sur la cmd diffèrent. Je dois utiliser les caractères de la boîte pour un projet qui imprime un fichier et sur l’écran. La sortie du fichier ne les contient apparemment pas.

#define _CRT_SECURE_NO_WARNINGS #include  #include  #include  FILE* ascii; void main() { ascii = fopen("D://temp//ascii.txt", "w"); setlocale(LC_ALL, "Portuguese_Portugal.850"); int columns = 0, i; printf("\nTable ASCII - C%cdigos 32 a 127 \n\n", 162); fprintf(ascii, "\nTable ASCII - C%cdigos 32 a 127 \n\n", 162); for(i=32; i<=127; i++) { printf("%3d-%c ", i ,i); fprintf(ascii, "%3d-%c ", i, i); columns++; if(columns==8) { columns = 0; printf("\n"); fprintf(ascii, "\n"); } } printf("\n\n\n"); printf("\nTable ASCII - C%cdigos 128 a 255\n\n", 162); fprintf(ascii, "\n\n\n"); fprintf(ascii, "\nTable ASCII - C%cdigos 128 a 255\n\n", 162); for (i = 128; i <= 255; i++) { printf("%3d-%c ", i, i); fprintf(ascii, "%3d-%c ", i, i); columns++; if (columns == 8) { columns = 0; printf("\n"); fprintf(ascii, "\n"); } } printf("\n\n\n"); fclose(ascii); system("pause"); } 

Sortie d’écran:

 Table ASCII - Códigos 32 a 127 32- 33-! 34-" 35-# 36-$ 37-% 38-& 39-' 40-( 41-) 42-* 43-+ 44-, 45-- 46-. 47-/ 48-0 49-1 50-2 51-3 52-4 53-5 54-6 55-7 56-8 57-9 58-: 59-; 60- 63-? 64-@ 65-A 66-B 67-C 68-D 69-E 70-F 71-G 72-H 73-I 74-J 75-K 76-L 77-M 78-N 79-O 80-P 81-Q 82-R 83-S 84-T 85-U 86-V 87-W 88-X 89-Y 90-Z 91-[ 92-\ 93-] 94-^ 95-_ 96-` 97-a 98-b 99-c 100-d 101-e 102-f 103-g 104-h 105-i 106-j 107-k 108-l 109-m 110-n 111-o 112-p 113-q 114-r 115-s 116-t 117-u 118-v 119-w 120-x 121-y 122-z 123-{ 124-| 125-} 126-~ 127- Table ASCII - Códigos 128 a 255 128-Ç 129-ü 130-é 131-â 132-ä 133-à 134-å 135-ç 136-ê 137-ë 138-è 139-ï 140-î 141-ì 142-Ä 143-Å 144-É 145-æ 146-Æ 147-ô 148-ö 149-ò 150-û 151-ù 152-ÿ 153-Ö 154-Ü 155-ø 156-£ 157-Ø 158-× 159-ƒ 160-á 161-í 162-ó 163-ú 164-ñ 165-Ñ 166-ª 167-º 168-¿ 169-® 170-¬ 171-½ 172-¼ 173-¡ 174-« 175-» 176-░ 177-▒ 178-▓ 179-│ 180-┤ 181-Á 182-Â 183-À 184-© 185-╣ 186-║ 187-╗ 188-╝ 189-¢ 190-¥ 191-┐ 192-└ 193-┴ 194-┬ 195-├ 196-─ 197-┼ 198-ã 199-Ã 200-╚ 201-╔ 202-╩ 203-╦ 204-╠ 205-═ 206-╬ 207-¤ 208-ð 209-Ð 210-Ê 211-Ë 212-È 213-ı 214-Í 215-Î 216-Ï 217-┘ 218-┌ 219-█ 220-▄ 221-¦ 222-Ì 223-▀ 224-Ó 225-ß 226-Ô 227-Ò 228-õ 229-Õ 230-µ 231-þ 232-Þ 233-Ú 234-Û 235-Ù 236-ý 237-Ý 238-¯ 239-´ 240- 241-± 242-‗ 243-¾ 244-¶ 245-§ 246-÷ 247-¸ 248-° 249-¨ 250-· 251-¹ 252-³ 253-² 254-■ 255- Press any key to continue . . . 

Sortie de fichier:

 Table ASCII - C¢digos 32 a 127 ã 32- 33-! 34-" 35-# 36-$ 37-% 38-& 39-' 40-( 41-) 42-* 43-+ 44-, 45-- 46-. 47-/ 48-0 49-1 50-2 51-3 52-4 53-5 54-6 55-7 56-8 57-9 58-: 59-; 60- 63-? 64-@ 65-A 66-B 67-C 68-D 69-E 70-F 71-G 72-H 73-I 74-J 75-K 76-L 77-M 78-N 79-O 80-P 81-Q 82-R 83-S 84-T 85-U 86-V 87-W 88-X 89-Y 90-Z 91-[ 92-\ 93-] 94-^ 95-_ 96-` 97-a 98-b 99-c 100-d 101-e 102-f 103-g 104-h 105-i 106-j 107-k 108-l 109-m 110-n 111-o 112-p 113-q 114-r 115-s 116-t 117-u 118-v 119-w 120-x 121-y 122-z 123-{ 124-| 125-} 126-~ 127- Table ASCII - C¢digos 128 a 255 128-€ 129- 130-‚ 131-ƒ 132-„ 133-… 134-† 135-‡ 136-ˆ 137-‰ 138-Š 139-‹ 140-Œ 141- 142-Ž 143- 144- 145-' 146-' 147-“ 148-” 149-• 150-– 151-— 152-˜ 153-™ 154-š 155-› 156-œ 157- 158-ž 159-Ÿ 160- 161-¡ 162-¢ 163-£ 164-¤ 165-¥ 166-¦ 167-§ 168-¨ 169-© 170-ª 171-« 172-¬ 173- 174-® 175-¯ 176-° 177-± 178-² 179-³ 180-´ 181-µ 182-¶ 183-· 184-¸ 185-¹ 186-º 187-» 188-¼ 189-½ 190-¾ 191-¿ 192-À 193-Á 194- 195-à 196-Ä 197-Å 198-Æ 199-Ç 200-È 201-É 202-Ê 203-Ë 204-Ì 205-Í 206-Î 207-Ï 208-Ð 209-Ñ 210-Ò 211-Ó 212-Ô 213-Õ 214-Ö 215-× 216-Ø 217-Ù 218-Ú 219-Û 220-Ü 221-Ý 222-Þ 223-ß 224-à 225-á 226-â 227-ã 228-ä 229-å 230-æ 231-ç 232-è 233-é 234-ê 235-ë 236-ì 237-í 238-î 239-ï 240-ð 241-ñ 242-ò 243-ó 244-ô 245-õ 246-ö 247-÷ 248-ø 249-ù 250-ú 251-û 252-ü 253-ý 254-þ 255-ÿ 

avec l’encodage, vous devez examiner trois aspects:

  • d’où vient l’ entrée ? spécifie-t-il le codage (explicitement ou implicitement par spécification)? pouvez-vous faire confiance à cette information? sinon vous êtes perdu et pouvez annuler le projet
  • quel encodage est le processus que vous utilisez sur la machine utilise? Vous devez vous assurer que votre programme s’en tient à cet encodage, et chaque entrée est transformée en cet encodage.
  • quel encodage produisez- vous? assurez-vous que le destinataire sait à quoi il doit s’attendre (en tant qu’entrée)