bonjour à tous ;
j'ouvre un fichier disque comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
CFileDialog	FileDialog(TRUE,"xml",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"Fichiers XML (*.xml)|*.xml",NULL);
	if(FileDialog.DoModal() != IDOK) return;
 
	CString strFileName = FileDialog.GetFileName(); // récupération du nom de fichier
	SetWindowText(strFileName);						// puis ouverture fichier
	CFile file(strFileName,CFile::modeRead);
 
	char* pBuffer = new char[12287]; // buffer de 12K
	ASSERT(pBuffer);
	int	nbOctets = file.Read(pBuffer,file.GetLength()); // lecture entière du fichier
	ASSERT(nbOctets);
puis je récupère dans une CString comme cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
strFile = pBuffer;
Après découpages et rajouts je crée une seconde CString ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
strResult = strFile.Left(nStart) + strBaliseXML + strFile.Right(strFile.GetLength() - nStop + jour.GetLength());
que j'écris dans un autre fichier ,ce qui donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
file.Write(strResult,strResult.GetLength());
Le problème c'est que des octets (qui n'ont rien à faire là je le jure !) sont ajoutés en fin de fichiers ; c embêtant car ce sont des fichiers XML qui ne peuvent plus etre visualiser .
Comment celà se fait-il ?