CHECKSUM MD5 D'UN FICHIER C

Signaler
Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
-
Messages postés
1
Date d'inscription
mercredi 8 avril 2015
Statut
Membre
Dernière intervention
8 avril 2015
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40389-checksum-md5-d-un-fichier-c

Messages postés
1
Date d'inscription
mercredi 8 avril 2015
Statut
Membre
Dernière intervention
8 avril 2015

Les .xlsx et les .docx ne sont ni plus ni moins que des sortes "d'archives" de fichiers .xml. Pas étonnant que le programme plante.

Sinon, j'ai essayé de le compiler sous linux, et le programme marche très bien. Par contre, un Makefile aurait été grandement apprécié (je met le mien à la fin du post)

Apparemment, il semble fonctionner correctement, mais peut-on l'utiliser dans un projet, et sous quelle licence ?

=====================

Makefile (C'est le Makefile.win modifié et simplifié, je n'ai pas vérifié si cette version fonctionne dans TOUS les cas.) :

# Project: MD5FileHash
# Makefile created by Dev-C++ 4.9.9.2
# Modified for Linux use

CPP = g++
CC = gcc
OBJ = obj/main.o obj/md5.o
LINKOBJ = obj/main.o obj/md5.o
LIBS = -Lm
BIN = bin/MD5FileHash

all: $(BIN)

$(BIN): $(OBJ)
$(CC) $(LINKOBJ) -o $(BIN) $(LIBS)

obj/main.o: main.c
$(CC) -c main.c -o obj/main.o $(CFLAGS)

obj/md5.o: md5.c
$(CC) -c md5.c -o obj/md5.o $(CFLAGS)
le code ça marche avec l'extension .xls .docx ?? le programme se plante qd j'utilise ce type de fichier
Messages postés
78
Date d'inscription
jeudi 4 janvier 2001
Statut
Membre
Dernière intervention
2 mars 2012

Merci ca marche niquel en C sous linux sans retouche :)

merci
Messages postés
32
Date d'inscription
vendredi 26 mai 2006
Statut
Membre
Dernière intervention
14 avril 2009

Salut, en ce qui concerne les gros fichiers tu devrais utilise les appelles systémes de ton OS au lieu de passer par la libC (fread,fopen,...).
En gros si tu es sous windows utilise ReadFile()/WriteFile() si tu es sous UNIX utilise read()/write.
Afficher les 9 commentaires