Bonjour à tous,
J'ai une routine assez longue à coder de lecture/écriture de fichier et comme certaine partis pourraient être traitées avec des fonction à part, j'aimerais passer en paramètre à ces fonction la position du flux que je lis/écris.
Déjà j'aimerais savoir si c'est possible et ensuite comment on déclare de tels flux dans le passage de paramètre ?
Ce serait quelque chose comme :
void construc_ligne(oftream(?) nomflux, char * [11] nomfich) ?
Comme je ne sais pas si je m'explique bien, voici mon bout de code comme exemple plus concret :
A ce stade là je voudrais créer ma fonction de construction de ligne et lui passer en paramètre le flux que j'ai appelé "entree"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 void Dune::build_table(Vecteurdunes vd, int srid, char date[11] , int temps_relatif) { int nbd, j, nbp; double nx, ny, nz ; Point p; char nsql[taille]; ofstream fich(nsql, ios::app); if(!fich) cout<<"... !\n"; else { for(int i=0; i<nbd; i++) { if (!entree) { cout << " \n ...!! \n" ; } else // fichier dune ouvert { while (entree.eof()==false) { //fonction lecture fichier entree >> nom; //lecture de la première ligne entree >> id; entree >> nbp; //construction des X de la ligne de crête for (j=0; j<nbp; j++)
Merci d'avance pour vos réponses
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 crete.construc_ligne(oftream(?) entree, char[11] nomfich); { entree >> nx; p.set_x(nx); crete.ajout_point(p); } for (j=0; j<nbp; j++) //construction des Y de la ligne de crête { entree >> ny; p = crete.get_point(j); p.set_y(ny); crete.set_point(p, j); } for (j=0; j<nbp; j++) //construction des Z de la ligne de crête { entree >> nz; p = crete.get_point(j); p.set_z(nz); crete.set_point(p, j); } } crete.L.erase(crete.L.begin(), crete.L.end()); }//fin fichier dune ouvert }//fin pour le i em fichier ouvert du vecteur dune }/*FIN SET_info*/ }
EDIT : Merci énormément à celui qui a modifié l'apparence du code, c'est beaucoup plus clair comme ça !! J'ai bien tenté de faire comme dans les autres post, mais je n'ai pas réussi à trouver comment faire.
Partager