
Enviado em 01/02/2018 - 18:26h
Olá, estou trabalhando em um programa que converte arquivos binários em código hexadecimal, depois de muita pesquisa consegui converter os arquivos corretamente para HEX, mas estou tendo problemas em fazer o processo inverso.char *fnp = "imagem.png";
size_t size;
FILE *fp;
fp = fopen(fnp,"rb");
if( fp == NULL )
{
perror("Error while opening the file.\n");
exit(EXIT_FAILURE);
}
// Move o ponteiro para o final do arquivo
fseek(fp,0,SEEK_END);
// pega a posicao atual do ponteiro no arquivo
size = ftell(fp);
// Volta o ponteiro para a posicao inicial do arquivo
rewind(fp);
/*
* Listagem do conteudo do arquivo em hexadecimal
*/
char *sfinal = malloc((size * 8) + 1);
size_t i;
char *buffer = NULL;
int brk = 0;
buffer = malloc(size + 1);
fread(buffer, 1, size, fp);
for(i = 0; i < size; i++)
{
char hex[8];
sprintf(hex, "%.2X ", (unsigned int) buffer[i] & 0xff);
strcat( sfinal, hex );
if( !(++brk % 16) ) strcat( sfinal, "\n" );
}
free(buffer);
buffer = NULL;
//Fechamento do arquivo
fclose(fp);
Berry Bank: Criando um Banco Digital Gamificado para seus Filhos com Gentoo, Flask e Tailscale
Papagaiando o XFCE com temas e recursos
Instale o DOOM Retro no Gentoo facilmente via Overlay
Steam (Flatpak) rodando jogos em partição NTFS
O dock Plank + U-Launcher deixam qualquer desktop mais produtivo
Instalar Linux em notebook Sony Vaio VPCEG13EB (17)
Alguém tem que acabar com ANATEL!!! (10)
O que você está ouvindo agora? [2] (229)









