Gioko08 Δημοσ. 19 Ιανουαρίου 2011 Δημοσ. 19 Ιανουαρίου 2011 Γεια σας! εχω αναλαβει να κανω στην γλωσσα c την εντολη comp,δηλ να συγκρινω το περιεχομενο 2 αρχειων και να λεω αν ειναι ομοια η οχι. Μπορω να πω οτι τον προγραμματισμο δεν τον κατεχω...καθολου! Παρ ολα αυτα, εχω φτασει σε ενα σημειο και μου βγαζει οτι εχω 2 λαθη και δν μπορω να βρω γιατι ειναι λαθος....εδω θελω την βοηθεια σας ο κωδικας ειναι: >#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; }
taazz Δημοσ. 20 Ιανουαρίου 2011 Δημοσ. 20 Ιανουαρίου 2011 Γεια σας! εχω αναλαβει να κανω στην γλωσσα c την εντολη comp,δηλ να συγκρινω το περιεχομενο 2 αρχειων και να λεω αν ειναι ομοια η οχι. Μπορω να πω οτι τον προγραμματισμο δεν τον κατεχω...καθολου! Παρ ολα αυτα, εχω φτασει σε ενα σημειο και μου βγαζει οτι εχω 2 λαθη και δν μπορω να βρω γιατι ειναι λαθος....εδω θελω την βοηθεια σας ο κωδικας ειναι:......... > #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.
Gioko08 Δημοσ. 20 Ιανουαρίου 2011 Μέλος Δημοσ. 20 Ιανουαρίου 2011 εμενα παλι στο ιδιο σημειο μου βγαζει λαθος,τι στο καλο... Ευχαριστω πολυ παντος που μπηκες στον κοπο να το ψαξεις :-D
thanos713 Δημοσ. 20 Ιανουαρίου 2011 Δημοσ. 20 Ιανουαρίου 2011 > #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); }
Gioko08 Δημοσ. 20 Ιανουαρίου 2011 Μέλος Δημοσ. 20 Ιανουαρίου 2011 Και παλι ο compiler μας τα χαλαει .... Ευχαριστω για την βοηθεια,θα το στειλω ετσι στον καθηγητη.
pinball_elf Δημοσ. 20 Ιανουαρίου 2011 Δημοσ. 20 Ιανουαρίου 2011 > #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; } }
Gioko08 Δημοσ. 20 Ιανουαρίου 2011 Μέλος Δημοσ. 20 Ιανουαρίου 2011 ποοοοοοοοοοοοο μεγαλος πονοκεφαλος ο προγραμματισμος............ χιλια ευχαριστω!!!κατι εγινε....πιστευω οτι κατι θα παρουμε τωρα ,δεν μπορει..!
Gioko08 Δημοσ. 20 Ιανουαρίου 2011 Μέλος Δημοσ. 20 Ιανουαρίου 2011 εκανα cmpile σε αυτο που μου εκανες edit,ολα καλα στην αρχη βγαζει 0 errors ξεκιναει να τρεξει και παρουσιαζεται σφαλμα,μαλλον ειναι γενικο το προβλημα στον κωδικα μου,οπως το διαβασατε κανει συγκριση 2 αρχειων η εκανα πατατα....?Πιστευω οτι δν ειναι δυσκολο προγραμμα απλα για τα αρχεια δεν εχω πολλες γνωσεις..
thanos713 Δημοσ. 20 Ιανουαρίου 2011 Δημοσ. 20 Ιανουαρίου 2011 Για να τρέξει σωστά χρειάζεσαι ένα αρχείο file, ένα file2 (χωρίς .txt στο τέλος...)... Επίσης, έχει βάλει να διαβάζει περισσότερα γράμματα από ότι είναι το μήκους πίνακα, βάλε το να διαβάζει 14 για να χωράει...
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.