Momenteel probeer ik wat text in een file weg te schrijven.
Nu probeer ik op de volgende manier, de text te initialiseren en er een getal (een offset) aan vast te plakken.
het wegschrijven gebeurd als volgt...
Als ik echter in de console laat zien wat er in de file komt, geeft hij alles prachtig weer, echter in de file wordt het getal (int) ongeveer 12 regels hoger geplaats en overschrijft hij bestaande text.
Jep, ik weet het.. ik gebruik c functies in c++ maar goed..
waarom komt het getal niet achteraan de text te staan,
maar op een andere plaats
Nu probeer ik op de volgende manier, de text te initialiseren en er een getal (een offset) aan vast te plakken.
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| char szTrailer[] = { "command\n" "%% Size=7 %%\n" "offset\n" }; // zet de offset achter aan de szTrailer text char szOffset[10]; sprintf(szOffset, "%d", offset); // sizeof()-1 omdat we geen \0 nodig hebben strncat(szTrailer, szOffset, sizeof(szOffset)-1); // Test debug stringetje printf("%s\n", szTrailer); |
het wegschrijven gebeurd als volgt...
C++:
1
2
| fstream File(pszFileName, ios::out | ios::binary); File.write(szTrailer, sizeof(szTrailer)); |
Als ik echter in de console laat zien wat er in de file komt, geeft hij alles prachtig weer, echter in de file wordt het getal (int) ongeveer 12 regels hoger geplaats en overschrijft hij bestaande text.
Jep, ik weet het.. ik gebruik c functies in c++ maar goed..
waarom komt het getal niet achteraan de text te staan,
maar op een andere plaats