hexfile - conversor de binario/hexadecimal
Publicado por smith unix (última atualização em 09/01/2026)
[ Hits: 603 ]
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;
}
Cadastor de Produtos em C e metodos ordenação
Exemplo de manipulação de arquivos
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Instalação do K3s Single-Node com Rancher no Ubuntu 24.04
Usei o NotebookLM para Auditar Logs do Linux
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
Samba 4 AD-DC 2026: Como instalar e configurar um Active Directory (via APT-GET)
[Resolvido] Sumiço de redes e micro quedas no iwd/iwgtk (Realtek rtw88)
Como Configurar DNS Reverso (PTR) em Ambientes Linux e Microsoft
Preparando o Ambiente para Administrar o Samba 4 a partir do Windows com RSAT
Midia de instalação LM-21.3 não inicializa (7)
A diferença entre a fala de um Samuel e a fala de alguém que conhece o... (8)









