Προς το περιεχόμενο

συγκριση αρχειων σε c


Gioko08

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια σας!

εχω αναλαβει να κανω στην γλωσσα c την εντολη comp,δηλ να συγκρινω το περιεχομενο 2 αρχειων και να λεω αν ειναι ομοια η οχι.

Μπορω να πω οτι τον προγραμματισμο δεν τον κατεχω...καθολου! :blink: Παρ ολα αυτα, εχω φτασει σε ενα σημειο και μου βγαζει οτι εχω 2 λαθη και δν μπορω να βρω γιατι ειναι λαθος....εδω θελω την βοηθεια σας :rolleyes:

ο κωδικας ειναι:

>#include <stdio.h>
#include<stdlib.h>
#include<string.h>
int cmpfiles(void);
void main()
{
char c1[15],c2[15];
int result =cmpfiles();

printf("tn d", result);
}

int cmpfiles(void)
{
FILE *fp1,*fp2;
fp1 = fopen("file","r"); 
fp2 = fopen("file2", "r"); 


fgets("c1", 16 ,fp1); 
fgets("c2",16 ,fp2);

int strcmp(const char * c1,const char * c2 )<-εδω βγαζει λαθος
if  (c1!=0)
{
return 1;


else return 0;
}

Δημοσ.

Γεια σας!

εχω αναλαβει να κανω στην γλωσσα c την εντολη comp,δηλ να συγκρινω το περιεχομενο 2 αρχειων και να λεω αν ειναι ομοια η οχι.

Μπορω να πω οτι τον προγραμματισμο δεν τον κατεχω...καθολου! :blink: Παρ ολα αυτα, εχω φτασει σε ενα σημειο και μου βγαζει οτι εχω 2 λαθη και δν μπορω να βρω γιατι ειναι λαθος....εδω θελω την βοηθεια σας :rolleyes:

ο κωδικας ειναι:.........

 

 

>
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
int cmpfiles(void);
void main()
{
 int result =cmpfiles();
 printf("tn d", result);
}

int cmpfiles(void)
{
 char c1[15],c2[15]; //<- μεταφορά εδώ από την main
 FILE *fp1,*fp2;
 fp1 = fopen("file","r");
 fp2 = fopen("file2", "r");


 fgets("c1", 16 ,fp1);// <-- errr δεν ξέρω γιατί αλλά η χρήση των " κτηπάει συναργεμό στο μιαλό μου.
 fgets("c2", 16 ,fp2);

 int strcmp(const char * c1,const char * c2 );//<-εδω τώρα δεν βγαζει λαθος
 if  (c1!=0)
{
  return 1;
}
else
 {
return 0;
 }
}

 

τουλάχιστον έτσι κάνει compile.

Δημοσ.

εμενα παλι στο ιδιο σημειο μου βγαζει λαθος,τι στο καλο...

Ευχαριστω πολυ παντος που μπηκες στον κοπο να το ψαξεις :-D :-D

Δημοσ.
>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int cmpfiles();

void main()
{
 int result;
 result = cmpfiles();
 printf("tn %d", result);
}

int cmpfiles()
{
 char c1[15],c2[15];
 FILE *fp1 = fopen("file","r"), *fp2 = fopen("file2", "r");

 fgets(c1, 16 ,fp1);
 fgets(c2, 16 ,fp2);

 if (strcmp(c1, c2) == 0)
 {
      return 0;
 }
 else
 {
      return 1;
 }
 fclose(fp1);
 fclose(fp2);
}

Δημοσ.
>
#include <stdio.h>
#include<stdlib.h>
#include<string.h>

int cmpfiles(void); 

int main() 
{ 
 int result = cmpfiles(); 
 printf("tn d", result); 
 return 0;
} 

int cmpfiles(void) 
{ 
 char c1[15],c2[15]; 
 FILE *fp1,*fp2; 
 fp1 = fopen("file","r"); 
 fp2 = fopen("file2", "r"); 
 int result ;

 fgets(c1, 16 ,fp1); 
 fgets(c2, 16 ,fp2); 

 result = strcmp((const char *)c1, (const char *)c2); 
 if  (c1!=0) 
 { 
     return 1; 
 } 
 else 
 { 
     return 0; 
 } 
}

Δημοσ.

ποοοοοοοοοοοοο μεγαλος πονοκεφαλος ο προγραμματισμος............ :wacko:

χιλια ευχαριστω!!!κατι εγινε....πιστευω οτι κατι θα παρουμε τωρα ,δεν μπορει..!

Δημοσ.

εκανα cmpile σε αυτο που μου εκανες edit,ολα καλα στην αρχη βγαζει 0 errors ξεκιναει να τρεξει και παρουσιαζεται σφαλμα,μαλλον ειναι γενικο το προβλημα στον κωδικα μου,οπως το διαβασατε κανει συγκριση 2 αρχειων η εκανα πατατα....?Πιστευω οτι δν ειναι δυσκολο προγραμμα απλα για τα αρχεια δεν εχω πολλες γνωσεις..

Δημοσ.

Για να τρέξει σωστά χρειάζεσαι ένα αρχείο file, ένα file2 (χωρίς .txt στο τέλος...)... Επίσης, έχει βάλει να διαβάζει περισσότερα γράμματα από ότι είναι το μήκους πίνακα, βάλε το να διαβάζει 14 για να χωράει...

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...