comparaison de deux fichiers - C++ - Programmation
Marsh Posté le 28-05-2006 à 22:22:43
lei lyrken a écrit : Bonjour bonjour, bon je galere un peu en c++, alors je demande de l'aide vu que jai pas vraiment trouver d'exemple pouvant m'aider sur le net.
jme suis inspiré de ce lien. |
Ligne 12, il te manque une parenthèse fermante
Personnellement j'utiliserais les mots clefs "false" et "true" plutôt que "0" et "1" pour une question de lisibilité
Sinon à vue de nez, il a l'air correct. Tu lis les 2 fichiers en parallèle ligne par ligne et tu compares chaque ligne donc c'est good
lei lyrken a écrit : Et pour le DIFF je dois avouer que j'en ai aucune idée. J'ai pas trouvé d'exemple concret. Donc je suis ouvert a tte proposition. |
Je suis un peu étonné qu'on te fasse utiliser une commande externe pour ton programme.
La seule chose qu'il me vienne à l'idée, c'est de faire un FILE *flux=popen("diff fic1 fic2", "r" ) et voir si un fgetc(flux) renvoie "EOF" => oui => identiques, non => différents
Marsh Posté le 28-05-2006 à 22:27:32
std::ifstream fich1( fichier1 );
=>
std::ifstream fich1( fichier1.c_str() );
strcmp(lignef1,lignef2)
=>
strcmp(lignef1.c_str(),lignef2.c_str())
mais pourquoi ne pas utiliser l'operateur == ?
aussi ca se fait en une instruction avec std::equal
Code :
|
Marsh Posté le 29-05-2006 à 00:21:51
Citation : Je suis un peu étonné qu'on te fasse utiliser une commande externe pour ton programme. |
en fait c plutot pour un cours de systeme
merci en tout cas pour le DIFF jvais voir ce que je peu faire
Citation : mais pourquoi ne pas utiliser l'operateur == ? |
paske je suis une bouse en c++ et donc j'ai trouvé strcmp, j'utilise strcmp ^^. Merci en tout cas pour le code
Marsh Posté le 29-05-2006 à 10:29:35
lei lyrken a écrit : en fait c plutot pour un cours de systeme |
Regarde du cote de : execvp, wait
Marsh Posté le 29-05-2006 à 11:43:57
lei lyrken a écrit :
|
Erreur de logique selon moi:
Si l'un des fichiers est plus volumineux que l'autre, le test s'arrete a la fin du fichier le plus court et s'ils ont ete identiques jusque la renvoie vrai alors que cela devrait renvoyer faux, non?
Marsh Posté le 28-05-2006 à 22:03:58
Bonjour bonjour, bon je galere un peu en c++, alors je demande de l'aide vu que jai pas vraiment trouver d'exemple pouvant m'aider sur le net.
je dois ecrire deux fonction pour comparer des fichiers, une en utilisant la commande strcmp et l'autre avec la commande diff (sous linux le tout)
la premiere fonction, en fait j'ai pas pu la testé (pas linux sur ce pc) donc dite si ca tient la route svp.
jme suis inspiré de ce lien.
Et pour le DIFF je dois avouer que j'en ai aucune idée. J'ai pas trouvé d'exemple concret. Donc je suis ouvert a tte proposition.
Merci d'avance en esperant qu'on puisse m'aider, je vais continué a cherché de mon coté.