bonjour à tous ;
j'ouvre un fichier disque comme ceci :
puis je récupère dans une CString comme cela :
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);
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 strFile = pBuffer;
que j'écris dans un autre fichier ,ce qui donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 strResult = strFile.Left(nStart) + strBaliseXML + strFile.Right(strFile.GetLength() - nStop + jour.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 .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 file.Write(strResult,strResult.GetLength());
Comment celà se fait-il ?
Partager