Bonjour à tous.
Mon problème est le suivant :
J'aimerais écrire une CString à une ligne donnée : pour cela, je fais ceci :
Le principe est simple : je saute de ligne le nombre qu'il faut, puis j'écris à ce niveau.
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 bool CCalibFile::WriteString(CString string, int line) { CStdioFile f_calib; char nom[20]; int i; CString str; f_calib.Open("calib.txt",CFile::modeWrite |CFile::modeRead | CFile::shareDenyWrite |CFile::typeText);// | CFile::modeNoTruncate); f_calib.SeekToBegin(); for (i=1;i<line;i++) { f_calib.ReadString(str); } f_calib.WriteString(string); f_calib.Close(); return true; }
Ce que je ne comprend pas, c'est pourquoi le programme plante sur le ReadString au deuxième passage de la boucle...
Est-ce parceque on n'a pas le droit de réécrire sur la CString str ?
Même planté, je "force", et je vois qu'il a écrit au debut de la première ligne.
Mais Keskessaveudirequessa?
Merci pour vos réponses éclairantes comme toujours![]()
Partager