Πρόβλημα ανάγνωσης από αρχείο χωρίς να χρησιμοποιώ buffer

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
katerinaaa
Δημοσιεύσεις: 109
Εγγραφή: 28 Ιαν 2010 12:46

Πρόβλημα ανάγνωσης από αρχείο χωρίς να χρησιμοποιώ buffer

Δημοσίευση από katerinaaa » 17 Νοέμ 2010 01:40

Γεια σας,
προσπαθώ να διαβάσω ένα αρχείο αλλά έχω ένα προβληματάκι.
Αν το εκτελέσω αρκετές φορές η μεταβλητή a φέρει την δική της τιμή αλλά και την τιμή της b.
Δηλαδή, αν το αρχείο είναι
ppp qqq
rrr xxx

τότε μετά από εκτέλεση παίρνω aaa=pppqqq b=qqq
aaa=rrrxxx b=xxx

Ο κώδικας μου είναι ο εξής :

Κώδικας: Επιλογή όλων

FILE *filehandle;
filehandle= fopen("1.txt", "r");
int lcount=0;
char aaa[6],bbb[6];    
 while (!feof(filehandle)) 
 {
      
       fscanf(filehandle, "%s %s", aaa, bbb);
             
       strcpy(Allaccounts[lcount].a,aaa);
       strcpy(Allaccounts[lcount].b,bbb);
              
       printf("  Line %d : a=%s b=%s\n",lcount,Allaccounts[lcount].a,Allaccounts[lcount].b);
                    
              lcount++;
          }
     }

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Πρόβλημα ανάγνωσης από αρχείο χωρίς να χρησιμοποιώ buffer

Δημοσίευση από dva_dev » 17 Νοέμ 2010 02:29

Πριν το strcpy βάλε και την εντολή

Κώδικας: Επιλογή όλων

printf("Line %d : a=%s b=%s\n", lcount, aaa, bbb);
για να δεις τι μπορεί να πηγαίνει στραβά

katerinaaa
Δημοσιεύσεις: 109
Εγγραφή: 28 Ιαν 2010 12:46

Πρόβλημα ανάγνωσης από αρχείο χωρίς να χρησιμοποιώ buffer

Δημοσίευση από katerinaaa » 17 Νοέμ 2010 11:58

Ευχαριστώ πολύ για την απάντηση.

Με την printf εκτυπώνονται κανονικά αλλά όταν τα αποθηκεύω στη δομή στην πρώτη μεταβλητή δεν μου εμφανίζονται σωστά περιεχόμενα.

Η δομή μου είναι η εξής

Κώδικας: Επιλογή όλων

typedef struct
{
   char a[6];
   char b[6];    
}Account;
Account Allaccounts[20];
Καταρχάς εφόσον έχω ορίσει τους πίνακες με 6 κελιά πως γίνεταινα έχει ο πίνακας περισσότερους χαρακτήρες ?

(υπάρχει περίπτωση να θέλει να κάνω κάποιο bzero ή fflush(stdin) ?)

Άβαταρ μέλους
pasxal
Δημοσιεύσεις: 83
Εγγραφή: 16 Απρ 2010 04:39

Πρόβλημα ανάγνωσης από αρχείο χωρίς να χρησιμοποιώ buffer

Δημοσίευση από pasxal » 17 Νοέμ 2010 17:15

Καταρχάς εφόσον έχω ορίσει τους πίνακες με 6 κελιά πως γίνεταινα έχει ο πίνακας περισσότερους χαρακτήρες ?
Έχεις ορίσει πίνακα με 7 κελιά, από 0 μέχρι 6. Αν θέλεις 6 κελιά a[5].

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες