- Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE *infile0;
FILE *infile1;
FILE *A[2];
A[0] = infile0;
A[1] = infile1;
return 0;
}
Το παραπάνω κάνει compile σωστά. Μπορώ να έχω μια επιβεβαίωση αν είναι σωστό παρακαλώ...?
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE *infile0;
FILE *infile1;
FILE *A[2];
A[0] = infile0;
A[1] = infile1;
return 0;
}
.

simosx έγραψε:Είναι ορθό, ωστόσο το ερώτημα έχει να κάνει περισσότερο με δείκτες στη C.
Ετοιμάζεις κάποιο μάθημα στην ενότητα αυτή για δείκτες;
έγραψε:Το παραπάνω είναι για μια εργασία, client-server απλά αντί να ανοίξω 10 αρχεία(server) σκέφτηκα να βάλω τα FILE * σε πίνακα και να χρησιμοποιήσω for loop! Ελπίζω να πιάσει..
.

.

.
FILE *pfs[] = {fopen("file1","openmode1"), fopen("file2","openmode2")};
FILE *pfs[2];
pfs[0] = fopen("file1","openmode1");

FILE *pfs[2] = { NULL, NULL };
Ntelispak έγραψε:Ο κώδικας που έχεις γράψει είναι σωστός. Δημιουργεί, όμως, διπλασιασμό δεδομένων. Σε περίπτωση που θέλεις να το αποφύγεις, μπορείς απλά να δημιουργήσεις ένα array από FILE pointers και να το χρησιμοποιήσεις κατευθείαν. Δηλαδή θα μπορούσες να κάνεις κάτι σαν
- Κώδικας: Επιλογή όλων
FILE *pfs[] = {fopen("file1","openmode1"), fopen("file2","openmode2")};
ή, αν το πρόγραμμα σου δεν ανοίγει όλα τα αρχεία ταυτόχρονα, κάτι σαν
- Κώδικας: Επιλογή όλων
FILE *pfs[2];
pfs[0] = fopen("file1","openmode1");
Δεν ξέρω τι ακριβώς θέλεις να κάνεις, οπότε μπορεί να μην σε ενδιαφέρει. Ελπίζω πάντως να βοήθησα.
