000
26.10.2004, 12:14 Uhr
~_tobi_
Gast
|
Hallo Leute!
Bin mal wieder am Basteln an meine Grenzen gestossen und wollte mal fragen, ob einer von Euch nen guten Tipp für folgendes Problem hat:
Ich suche in einer Textdatei eine Zeile und möchte sie überschreiben, also zuerst such ich mir die Zeile, merk mir die Position, such noch ne Zeile (auch die Position merk ich mir), will nun den Dateizeiger an die erste (gemerkte) Position setzen und da was hinschreiben. Das Problem ist nur, dass er dann die nächste Zeile annimmt, und nicht die Zeile, in der er was gefunden hat. Warum? Oder kann ich fwrite() genau sagen, wohin er schreiben soll??
Hier der Code zur Verdeutlichung:
C++: |
(...) char *pKamSuche=NULL,*pSuchZeiger=NULL; fpos_t ErstePos, ZweitePos; pFile=fopen("D:\\Textdatei.txt","r+t");
while(fgets(szLine,255,pFile)) { pKamSuche = strstr(szLine,"K#"); if(pKamSuche) fgetpos(pFile,&ErstePos); pSuchZeiger = strstr(szLine,"S#"); if (pSuchZeiger) { fgetpos(pFile,&ZweitePos); ReturnCode = fsetpos(pFile,&ErstePos); ReturnCode = fwrite("text",sizeof(char),4,pFile); } } (...)
|
Was mache ich nur falsch??
Tobi |