Перевод Ansi в Hex - C (СИ)
Формулировка задачи:
Добрый день! Мне нужно считать содержимое .com файла и перевести его в Hex(Причем желательно чтобы он был записан в строку, т.е. FF это не какое-либо число, а char a[2])
Я написал кусок, считывающий информацию из файла и получил массив, состоящий из ANSI символов( ♂▬ō♥☻♣♠ȫ♦ и т.п.). Как мне теперь перевести это в HEX? Вот что пока есть:
Спасибо.
#include <stdlib.h> #include<stdio.h> #include<conio.h> #define BSIZE 500 int main(){ char buf[BSIZE]; int a; char i; FILE *in; a=0; in=fopen("i.com","r"); while((i=getc(in))!=EOF){buf[a]=i; a+=1;} fclose(in); return (0);}
Так, дополнив код функцией
sprintf(buf1,"%X",buf[n]);
получил то, что нужно, но теперь в буфер записывается код в неудобном формате, мне нужно, чтобы выводило в формате 1 байта(например 03 21 CA) а он выводит в странном формате ( соответственно 3 21 FFFFFFCA) кто что посоветует?
Решение задачи: «Перевод Ansi в Hex»
textual
Листинг программы
#include <stdio.h> int main(int argc, char *argv[]) { FILE *ifp; int c; if (argc != 2) { fprintf(stderr, "usage: %s file\n", argv[0]); return 1; } if ((ifp = fopen(argv[1], "rb")) == NULL) { fprintf(stderr, "%s: error: can't open file\n", argv[0]); return 2; } while ((c = getc(ifp)) != EOF) printf(" %.2X", c); putchar('\n'); if (ferror(ifp)) { fprintf(stderr, "%s: error: input file is corrupted\n", argv[0]); return 2; } fclose(ifp); return 0; }
Объяснение кода листинга программы
В этом коде представлена программа, которая считывает файл Ansi и выводит его содержимое в шестнадцатеричной системе счисления. Вот список действий, выполняемых в коде:
- Включаются стандартные заголовочные файлы, необходимые для работы с файлами и вывода сообщений об ошибках.
- Создается функция main(), которая является точкой входа в программу.
- Проверяется корректность аргументов командной строки. Если введенных аргументов менее двух, выводится сообщение об ошибке.
- Открывается файл для чтения в бинарном режиме. Если файл не может быть открыт, выводится сообщение об ошибке и программа завершается.
- В цикле считывается каждый символ из файла, и его значение выводится в шестнадцатеричной системе счисления.
- Проверяется наличие ошибок при чтении файла. Если обнаружена ошибка, выводится сообщение об ошибке и программа завершается.
- Файл закрывается.
- Возвращается 0, указывающий на успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д