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

διάβασμα αρχείου σε C++


paramore

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

Δημοσ.

Καλησπέρα, παιδιά! Μήπως μπορεί να μου δείξει κάποιος έναν κώδικα ώστε να διαβάζω ένα αρχείο και να αποθηκεύω τα στοιχεία του σ'ενα δισδιάστατο πίνακα;

Δημοσ.

Συγγνώμη, αλλά δεν βοηθάς...

 

Η ερώτηση μάλλον ήταν «πώς είναι το αρχείο;» και γενικότερα αναζητούσε πιο συγκεκριμένες πληροφορίες για το τι θέλεις να κάνεις.

 

Επίσης καλό θα ήταν να έδινες τυχόν κώδικα που έχεις γράψει εσύ, τι δεν σου δουλεύει, κ.λπ. Το να πάρεις μια έτοιμη συνταγή ελάχιστα χρήσιμο θα σου είναι...

Δημοσ.

ναι έχεις δίκιο θα μιλήσω πιο συγκεκριμένα. Στο πρόγραμμά μου πρέπει να διαβαζω ένα αρχείο με χαρακτήρες και το αρχείο είναι έτσι

# # # # # # # #

# * - 6 * - & #

# & - - * * 6 #

# # # # # # # #

 

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

Έχω τον παρακάτω κώδικα αλλά δεν μου φαίνεται και πολύ σωστός..

FILE*fp

fp=fopen ("myfile.txt","r");

 

if fp==NULL

{printf ("Error:can't open file. \n");

return 1;

}

else

{ while !feof(fp)

for (i=0; i<4; i++)

for(j=0; j<8; j++)

a[j]=getc(fp)

}

fclose (fp)

Δημοσ.

εγώ θα το έκανα κάπως έτσι

 

>
#include <stdio.h>

int main(){
int i=0,j=0;
char a[4][8];
FILE *fp;
fp=fopen("myfile.txt","r");

if (fp==NULL){
   printf ("Error:can't open file. \n");
   return 1;
}else{
   char c;
   int count=0;
   while (c!=EOF && i<4){
                   c=fgetc(fp);
                   if (j%2==0 && c!='\n'){
                        a[i][count++]=c;
                   }
                   
                   j++;
                   if (c=='\n'){ i++;j=0;count=0;}
               }

    }
fclose (fp);
for (i=0; i<4; i++){
              for(j=0; j<8; j++) printf(" %c ",a[i][j]);
              printf("\n");
           }
getchar();
return 0;
}

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

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

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