Я пытаюсь преобразовать буфер в шестнадцатеричную строку в C как ниже, ниже изображений входного файл это двоичный файл.вопрос преобразование буфера шестнадцатеричной строки в с
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "fcntl.h"
#if defined(_MSC_VER)
#include <BaseTsd.h>
typedef SSIZE_T ssize_t;
#endif
#define BUFF_SIZE 5
int main()
{
char buff[BUFF_SIZE];
int fd;
ssize_t rd_size;
FILE *rfp;
FILE *ofp;
ofp = fopen("output.txt", "w");
rfp = fopen("test.bin", "rb");
while (4== (fread(buff, 1, 4, rfp)))
{
fprintf(ofp, "%02X%02X%02X%02X \n", buff[0], buff[1], buff[2], buff[3]);
}
fclose(ofp);
fclose(rfp);
return 0;
}
то я использую выше код, у меня есть ящик в шестнадцатеричный файл , но у меня есть проблемы в результате.
04002B2B
000001FFFFFFFF
00030003
00000000
00000000
00000000
00000300
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00500050
00500050
00500050
00500050
00000000
FFFFFF80002000
00000000
08700F00
00000000
00000000
00000001
00000002
00000003
00000004
00000005
00000006
00000007
FFFFFF800FFFFFFFF01E
087007FFFFFF80
00320032
0BFFFFFFB80820
00050005
2DFFFFFFC7114D
00FFFFFFC20118
00001B58
Как вы можете видеть, что выше файл, тем более я не хочу «000001FFFFFFFF» этот вывод. Но я не знаю, что я должен сделать
обновленияЯ хочу работать в Linux. но если я сделаю файл выполнения, я получил ошибку segmant. Можете ли вы сообщить мне, что я должен делать?
быстрый вопрос. Я хочу работать в Linux с gcc, но у меня есть ошибка segmant, – grander3
@ grander3 Это еще одна проблема целиком и что-то, о чем вы должны написать новый вопрос. Но прежде чем вы это сделаете, используйте отладчик, чтобы узнать, где происходит авария. В источнике, который вы показываете, укажите местоположение аварии с комментарием. Также покажите значения всех задействованных переменных в момент сбоя. О, и когда вы поймаете крах, обязательно поднимите колл-стоп на * ваш * код. –
@ grander3 Также, пожалуйста [загляните в тур] (http://stackoverflow.com/tour) и [читайте о том, как задавать хорошие вопросы] (http://stackoverflow.com/help/how-to-ask). Это поможет вам здесь, на stackoverflow.com. –