Bonjour,

pour la lecture d'un fichier csv, je bufferise le contenu du fichier avant de l'analyser. Le principal probl�me de mon code est que je me retrouve avec un paquet de caract�res qui ne devraient pas �tre l�.

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
	if (ouvertureFichier())
	{
		char* buffer;
		int taille;
		k=0;
 
		// récupérer la taille du fichier :
		fichier.seekg (0, std::ios::end);	// Envoi du curseur à la fin du fichier
		taille = fichier.tellg();			// Lecture de la position du curseur
		fichier.seekg (0, std::ios::beg);	// Renvoi du curseur au début du fichier
 
		// allocation de la mémoire nécessaire :
		buffer = new char[taille];
 
		// lire les données comme un bloc :
		fichier.read (buffer, taille);
 
		fermetureFichier();
 
		std::ofstream tempFile;
		tempFile.open("C:/temp/test.txt"); // Pour récupérer le contenu du buffer dans un fichier (debug)
		if (tempFile.is_open())
		{
			tempFile.write(buffer, taille);
			tempFile.close();
		}
			/*
			... Traitement du buffer ...
			*/
Le probl�me, c'est que si le fichier que je lis fait x lignes, je vais me retrouver avec x fois la valeur 'xCD' � la fin de mon buffer.

La valeur de 'taille' est pourtant bonne, je ne comprends donc pas.