Salut à tous ,
Malgré l'aide de la FAQ je bloque encore ... Je suis un peu un débutant avec les classes ofstream , ifstream ...
Mon tp est sur les surfaces de Bézier . A un moment je dois lire dans un fichier qui se présente comme suit :
4 4
500 1000 2000
1000 750 1500
...
...
La 1ère ligne indique le N° de lignes puis de colonnes de notre surface puis suivent les coordonnées de nos points constituant la surface.
Il faut donc que je récupère toutes ces données puis que je les stocke .
Le problème est que je récupère 52 et 32 pour le nombre de lignes et colonnes(valeurs ASCII ? si oui possibilité de faire la conversion ascii -> int) . Je ne me suis pas encore attardé pour les coordonnées . Voici mon bout de code :
Il n'est pas entièrement terminé et il doit y avoir des trucs inutiles mais je voulais vous demander un peu d'aide avant de continuer.
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 if (fich) //Si le fichier est ouvert { string ligne; // Notre variable qui contiendra chaque ligne lue int numLigne = 0 ; //Variable indiquant le n° de la ligne en lecture // cette boucle s'arrête dès qu'une erreur de lecture survient while (getline( fich, ligne ) ) { //Récuperation des données contenues dans le fichier string recup = ligne ; SIZE_T size = recup.size() + 1 ; char *premiereLg = new char[size] ; if (numLigne == 0){ strncpy(premiereLg,recup.c_str(),size); nblignes = (int)premiereLg[0]; nbcols = (int)premiereLg[1]; } //else {} Récupérer les coordonnées des points 3D } }
Voici de plus près ce que je vois en mode debug :
Merci d'avance![]()
Partager