bonjour,
Voici deux fonctions, la première ouvre un fichier et lit certains paramètres avant d'entrer dans une boucle for qui appelle la seconde fonction.
Cette dernière reçoit le fstream par référence et continu à lire le fichier.
Mais un problème survient du fait que nbrSysParticules est un entier. Une fois qu'il est lut aucun flottant ne passe. Seuls les entiers et les chaines sont acceptées, si bien que Pivot.position.x, dans la deuxième fonction, ne reçoit aucune valeur.
Le fichier est en fin de post.
Ce n'est pas la première fois que ça m'arrive et j'avais réussit à régler le problème avec setprecision(), mais cette fois-ci rien n'y fait.
Je ne comprend pas d'où vient le problème.
Quelqu'un peut-il m'aider ?
merci
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
31
32
33 void VAISSEAU::charger(string &nomFichier) { fstream fichier; string FSource("objets3D\\vaisseaux\\"); //génération de la chaine ciblant le fichier FSource = FSource + nomFichier + ".vmh"; fichier.open(FSource.data(), ios::in); if(fichier.is_open()) { string temp; fichier >> temp >> parametres.vitesseFrontaleMax; fichier >> temp >> parametres.vitesseLateraleMax; fichier >> temp >> parametres.vitesseVerticaleMax; fichier >> temp >> parametres.rotationMax; fichier >> temp >> nbrSysParticules; if(nbrSysParticules > 0) { sParticules = new sysParticules*[nbrSysParticules]; for(int i = 0; i < nbrSysParticules; i++) sParticules[i]->charger(fichier); } fichier.close(); } else { } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 void sysParticules::charger(fstream &Fichier) { string temp; Fichier >> temp >> Pivot.position.x; Fichier >> temp >> Pivot.position.y; Fichier >> temp >> Pivot.position.z; Fichier >> temp >> temp; MultiMat->ouvrir(temp); }vitesseFrontaleMax 10.0
vitesseLateraleMax 20.0
vitesseVerticaleMax 30.0
rotationMax 40.0
nbrSysParticules 1
position_X 0.0
position_Y 0.0
position_Z 0.0
nomShader flamReacteurs01
Partager