(C)在屏幕上和文件中打印所有CP850字符的程序具有不同的输出 [英] (C) Program that prints all CP850 characters on the screen and in a file have different outputs

查看:63
本文介绍了(C)在屏幕上和文件中打印所有CP850字符的程序具有不同的输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

该程序非常简单,它可以帮助我获取所有的ASCII代码,因为我的计算机似乎未遵循互联网中的标准.我发现的问题是文件和cmd上的输出不同.我需要在打印文件并在屏幕上的项目中使用方框字符,但文件输出显然没有它们.

The program is pretty simple, it helped me get all the ascii codes since my computer doesn't seem to follow the standards in the interwebs. The problem I'm finding is that the outputs on the file and on the cmd differ. I need to use the box characters for a project that prints a file and on the screen and the file output doesn´t have them apparently.

#define _CRT_SECURE_NO_WARNINGS
#include <stdlib.h>
#include <stdio.h>
#include <clocale>

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");
}

屏幕输出:

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-<    61-=    62->    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 . . .

文件输出:

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-<    61-=    62->    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-ÿ   

推荐答案

使用编码,您必须研究以下三个方面:

with encoding you have to look into three aspects:

  • 输入来自何处?它指定编码(按规范显式或隐式)吗?您可以信任这些信息吗?否则您会迷路并且可以取消该项目
  • 您正在计算机上运行的进程的编码是什么?您必须确保程序遵循此编码,最后将每个输入都转换为该编码.
  • 输出哪种编码?确保收件人知道他所期望的(作为输入)
  • where does the input coming from? does it specify the encoding (explicitly or implicitly by specification)? can you trust this information? else you are lost and can cancel the project
  • what encoding is the process you are running on the machine is using? You have to make sure your program sticks to this encoding, end every input is transformed into this encoding.
  • which encoding do you output? make sure, the recipient knows, what he has to expect (as input)

这篇关于(C)在屏幕上和文件中打印所有CP850字符的程序具有不同的输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆