hexfile - conversor de binario/hexadecimal
Publicado por Perfil removido (última atualização em 09/01/2026)
[ Hits: 674 ]
Esse programa faz a leitura de um arquivo binário, por exemplo, um *.png e converte para um arquivo de texto *.hex, onde se encontra os valores hexadecimal, e também pode compilar um *.hex de volta para *.png, caso queira!
modo de usar:
abrir
./hexfile -a imagem.png
compilar
./hexfile -f imagem.png.hex
#include <stdio.h>
#include <string.h>
#include <errno.h>
int main(int argc, char *argv[]){
// abre e fecha arquivos
FILE *fileOpen, *fileClose;
// byte a byte
int byte = 0;
// uso ./hexfile -a (abrir)
// ou ./hexfile -f (fechar)
if(strcmp(argv[1], "-a") == 0){
fileOpen = fopen(argv[2], "r");
// caso der merda
if(fileOpen == NULL){
perror("Erro de leitura");
return 1;
}
// concatenação com extenção .hex
char name[256];
strcpy(name, argv[2]);
strcat(name, ".hex");
fileClose = fopen(name, "w");
// caso der merda
if(fileClose == NULL){
perror("Erro de escrita");
return 1;
}
/* captura um byte de cada vez e escreve
em um arquivo *.hex */
while((byte = fgetc(fileOpen)) != EOF){
fprintf(fileClose, "%X ", byte);
}
// fecha
fclose(fileOpen);
fclose(fileClose);
} else if(strcmp(argv[1], "-f") == 0){
// faz a edição para nome original
char name[256];
strcpy(name, argv[2]);
name[strlen(name)-4]='\0';
fileOpen = fopen(argv[2], "r");
// caso der merda
if(fileOpen == NULL){
perror("Erro de leitura");
return 1;
}
fileClose = fopen(name, "wb");
if(fileClose == NULL){
perror("Erro de escrita");
}
// faz a leitura do *.hex e salva binario
while(fscanf(fileOpen, "%X", &byte) == 1){
fputc((unsigned char)byte, fileClose);
}
// fecha
fclose(fileOpen);
fclose(fileClose);
}
else{
// help
printf("use: ./hexfile -a [arquivo]\n");
printf("use: ./hexfile -f [arquivo]\n");
}
return 0;
}
Contando a quantidade de palavras de um arquivo texto
Listar arquivos e diretórios com suas propriedades
Como criar um make.conf no Gentoo (para iniciantes)
Como instalar o Open WebUI para Ollama no Gentoo (com systemd)
INSTALAR (e jogar) COUNTER STRIKE 1.6 (install cs 1.6) NO LINUX
A tragédia silenciosa das distribuições baseadas (ou “agregadas”)
Removendo o bloqueio por erros de senha no Gentoo (systemd)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Removendo a trava de versão do Project Brutality para GZDoom/UZDoom
Acelere a compilação no Gentoo com distcc (guia para Systemd)
ATUALIZAÇÃO DO KERNEL LINUX (2)
[Matemática] o que seria algo mais poderoso do que uma função? [RESOLV... (5)









