Проблема С Кодировкой В С

Тема в разделе "Общие вопросы по С и С++", создана пользователем Borodo, 22 май 2013.

  1. Borodo

    Borodo New Member

    Регистрация:
    22 май 2013
    Сообщения:
    1
    Симпатии:
    0
    Мне нужно считать все символы из файла .rar, но считываются только некоторые,
    далее программа считает, что файл закончился и прекращает работу.
    Мне кажется, что проблема в кодировке этих символов. Каким образом можно это обойти?

    Листинг программы:

    #include <stdio.h>
    #include <conio.h>

    void main ()
    {
    char *a="", *b="";
    FILE *in, *out;
    in = fopen("input.txt", "r");
    out = fopen("output.txt", "w");
    while (!feof(in))
    {
    fscanf(in, "%c%c%c%c", &a[0], &a[1], &b[0], &b[1]);
    fprintf(out, "%c%c%c%c", b[0], b[1], a[0], a[1]);
    }
    fcloseall();
    getch();
    }

    Пример содержимого файла:

    Rar! Пђs Ilt ‚q6 К"щ.&мµі”B5#’ЁЇл

    Считываемые символы:

    Rar!
     
  2. EugenOS

    EugenOS Active Member

    Регистрация:
    22 июл 2007
    Сообщения:
    27
    Симпатии:
    0
    а зачем так сложно? можно стримами сделать. ну или в лоб, по старинке:
    Код (C++):
    #include <sys\stat.h>
    #include <fcntl.h>
    #include <stdio.h>

    int in, out;
    in = open( "input.txt", O_RDONLY, D_IREAD);
    out=open("output.txt" , O_CREAT|OWROLY, S_IWRITE);
    int len = filelength(in);
    char buf[4];
    for( int i=0; i < len / 4; i++)
    {
    read( int, buf, 4 );
    write(out, buf+2, 2);
    write(out, buf, 2);
    }
    // ну а с хвостиком 0...3 байт сами разберетесь...;)
     
Загрузка...
Похожие Темы - Проблема Кодировкой
  1. JohnLemon
    Ответов:
    16
    Просмотров:
    1.235
  2. c0de3r
    Ответов:
    5
    Просмотров:
    127
  3. DobermannTT
    Ответов:
    10
    Просмотров:
    136
  4. SoulPaladin
    Ответов:
    4
    Просмотров:
    132
  5. Artael
    Ответов:
    1
    Просмотров:
    110

Поделиться этой страницей