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

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

Δημοσ.

θελω να αποθηκευσω τ στοιχεια ενος αρχειου π εχει σε καθε σειρα ενα αλφαριθμητικο κ ενα ακεραιο σε ενα πινακα. Αλλά με την fscanf παιρνει ενα ενα τα στοιχεια. Πως θα τ κανω να παιρνει χωρια τη πρωτη στηλη με τα αλφαριθμητικα κ χωρια τη δευτερη με τους ακεραιους;

Δημοσ.

πρώτα απ' όλα ξέρεις ακριβώς τη δομή του αρχείου; Χωρίζονται με whitespace; με άλλο χαρακτήρα; με καινό-tab;

 

κάτι της μορφής fscanf(fp, "%s %d", char, int); θα σου έκανε;

  • Moderators
Δημοσ.

Αν εννοείς να διαβάζει το αρχείο σε στήλες, αυτό δε γίνεται. Αυτό που μπορείς να κάνεις είναι να έχεις ένα char** και ένα int*, να χρησιμοποιείς την fscanf όπως σου έδειξε ο lion2486 και να περνάς ό,τι διαβάζεις στον char** και int* αντίστοιχα.

  • Moderators
Δημοσ.

Προφανώς και γίνεται.

 

Θα έπρεπε να προσθέσω ένα "το ίδιο εύκολα" μετά το "δε γίνεται"...

Δημοσ.

struct Offences{

char arKikl[7];

int typeOff;

};


...

for (i=0;i<numOfOffences;++i){

fscanf(fp3,"%s, %d",&(offArray.arKikl), offArray.typeOff);

}

 

προσπαθω να κανω κατι τετοιο εχοντας κ τη δομη αλλα μου βαζει στο offArray.arKikl ena ena ta stoixeia. ta stoixeia sto arxeio xwrizontai me keno.

  • Moderators
Δημοσ.

Στο &(offArray.arKikl) βγάλε το & και βάλτο στο offArray.typeOff. Στο αρχείο σου οι εγγραφές χωρίζονται με κόμμα; Η αλήθεια είναι ότι δε θυμάμαι πολύ καλά την οικογένεια των scanf, αλλά νομίζω προσπαθεί να κάνει κάποιο pattern matching.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...