begin process at 2012 05 28 18:37:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

Comparaison de fichiers en tant que nombre


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comparaison de fichiers en tant que nombre

mercredi 27 octobre 2004 à 17:42:26 | Comparaison de fichiers en tant que nombre

vinceb666

bonjour,

je cherche un moyen de comparer 2 fichiers en les considerant comme 2 nombres et savoir lequel des 2 est le plus grand
par exemple comparaison des octets de poid fort(les derniers des fichiers si les fichiers ont la meme taille) jusqu'a ce que on en trouve 1 plus gros

tout ceci pour ensuite pouvoir les soustraire(le +gros moins le +petit) en faisant une soustraction octet par octet(ou autre) et en gerant les retenues. si quelqun a une idée assez simple(je suis debutant) ce serait cool

merci d'avance
mercredi 27 octobre 2004 à 21:19:05 | Re : Comparaison de fichiers en tant que nombre

Gendal67


Oui, mais uen idée pour faire quoi? mdr! a quoi sa tre sert de soustraire 2 fichiers ? loolll

Genda67, à votre service !
jeudi 28 octobre 2004 à 09:38:50 | Re : Comparaison de fichiers en tant que nombre

vinceb666

bonjour,

ca me sert a pouvoir gerer des nombre de taille "infini" et par la suite je souhaite m'en servir pour realiser un compresseur.

si l'idée te parait stupide ne perd pas ton temps a repondre n'importe quoi (quoi que vu les fautes de frappe tu n'as pas du y passer longtemps) et va plutot aider quelqu'un d'autre (si tu veux vraiment aider)

bonne journée quand meme et avis aux vraies ame charitable qui pourrait m'aider

merci d'avance
jeudi 28 octobre 2004 à 09:55:10 | Re : Comparaison de fichiers en tant que nombre

Gendal67


Oh, mais le prend pas mal ! :|

Je disais juste ça pour t'aider! Si personne comprend ta question et son utilité, t'as peu de chance qu'on y répondes, voila tout !
Je ne vois tjs pas coomment ça peut t'aider à compresser, mais bon....la voila ton aide :



FILE* EqualFile(FILE* fp, FILE* fq, DWORD* finOct) {

int carac1, carac2;

fseek(fp, finOct, SEEK_END);
carac1 = fgetc(fp);

fseek(fq, finOct, SEEK_END);
carac2 = fgetc(fq);

finOct++;

if (carac1 > carac2)
return fp;

else if (carac2 > carac1)
return fq;

else
return EqualFile(fp, fq, finOct);
}

DWORD returnDiff(DWORD fSize1, DWORD fSize2) {

static DWORD diff;

if (fSize1 > fSize2)
diff = fSize1 - fSize2;

else if (fSize1 < fSize2)
diff = fSize2 - fSize1;

else
return 0;

return diff;
}

int main() {

FILE* fp, *fq;

fp = fopen("fichier qui existe", "rb"); // faut vérifier si ça s'ouvre!
fq = fopen("fichier qui existe", "rb");

DWORD fSize1, fSize2, diff;

fseek(fp, 0L, SEEK_END); // mettre le pointeur en fin de fichier
fSize1 = ftell(fp); // taille du fichier 1
fseek(fp, 0L, SEEK_SET);

fseek(fq, 0L, SEEK_END); // mettre le pointeur en fin de fichier
fSize2 = ftell(fq); // taille du fichier 2
fseek(fq, 0L, SEEK_SET);

DWORD diff;

diff = returnDiff(fSize1, fSize2);

DWORD finOct = 1;

if (!diff)
EqualFile(fp, fq, &finOct);

}



Alors, ça te convient + ?

Genda67, à votre service !
jeudi 28 octobre 2004 à 10:38:55 | Re : Comparaison de fichiers en tant que nombre

vinceb666

merci beaucoup,

je ne l'ai pas pris mal, mais j'etait un peu decu de ne pas avoir de reponse.

le but en fait est de prendre un fichier quelconque, de le couper en 4 partie egal, les trier, en gardant l'ordre(pour 4 elements je peut stocker ca sur 5 bits) puis prendre l'ecart entre chaque partie(w>x>y>z => w,(x-w),(y-x),(z-y) )puis je recommence, et au bout d'un certain temps je devrait atteindre 0,0,0,n et j'espere que sur un gros fichier la taille de mes 5 bit de classement soit plus petite que les 3/4 du fichier que j'ai gagner
je sais pas si c'est tres clair, je te met un exemple a petite echelle :

je vais utiliser des octets au lieu de fichier mais le resultat est le meme
w=64
x=128
y=32
z=16

dans l'orde :
16,32,64,128
je soustrait
16,16,32,64
c'est deja trier mais sinon je retrie et je stocke 5bit pour pouvoir "detrier"
et je resoustrait
16,0,16,32
je trie
0,16,16,32
je soustrait
0,16,0,16
je retrie
0,0,16,16
je soustrait
0,0,16,0
je retrie et je nais plus que 16 a stocker et 5 tri a 5bit
dans l exemple je gagne 24 bit(3octets) et je doit stocker en plus 25bit mais si les nombre sont beaucoup plus gros je doit pouvoir gagner beaucoup

voila comment je compte compresser
je te remercie de ton aide cela devrait me pemettre de faire ce dont j'ai besoin et si tu as des commentaires sur ma methode je suis prenneur

bonne journée


Cette discussion est classée dans : nombre, fichiers, octet, comparaison, gros


Répondre à ce message

Sujets en rapport avec ce message

nombre de caractère [ par mig73 ] salut à tousje suis sous visual c++.netj'ai utilisé la fonction suivante:CFile::GetLenght qui me donne la taille en octet du fichier que je lisA parti outils comparaison de fichiers [ par arb ] Je cherche des infos (ou encore mieux des sources) pour réaliser un outil de comparaison de fichiers (en BC++). Je voudrais pouvoir comparer deux répe Comparaison de Variables [ par CassusGreg ] Salut a tous,Je débute vraiment en C++ (je suis sous VC++6)Je ne comprend pas grand chose en déclaration de variables et en test de comparaison. Mon b Ecrire sur plusieurs octets [ par guifr ] Bonsoir à tous,J'aimerais savoir comment faire pour écrire un nombre entier sur un certain nombre d'octet, notamment sur 2, 3 et 4 octets. La difficul Convertion [ par c_raf ] bonjour a tous,Je suis nouveau ici et pour me presenter je suis etudiant en bts informatique.Je post cette petite question car je dois creer realiser gros fichiers [ par gegeambro ] Bonjours à tous,Je suis actuellement étudiant à la fac en licence informatique. Mon problème viens sur la gestion des gros fichiers ( par exemple 200 Comparaison d'images jpeg (obtenir le nombre de pixel different [ par chasse18 ] Bonjour j'utilise Borland Builder C++ et je voudrais savoir comment faire pour comparer deux images Jpeg et savoir le nombre de pixel qui diffère.Merc editeur de texte pour gros fichiers [ par yepla75 ] Salut les gens,Un problème du notepad (et aussi word, wordpad), c'est que pour ouvrir de gros fichiers texte (>100Mo), ça rame, voire ça plante.Si on probleme de comparaison QString/int [ par Kelm0 ] Bonjour je voudrais juste savoir comment on converti un nombre (int) en un QString (c'est peut-être pas la solution ...).Mon problème : j'ai génére un nombre de fichiers contenant le même terme dans un répertoire [ par mervat ] bonsoir, ce programme permet de déterminer le nombre total de fichiers dans le répertoire "in"; vérifie si le terme "118" existe dans chaque fichier d


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,215 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales