Ik ben een fanatiek 'tooltjes bouwer'. Daar is mijn kennis net genoeg voor
Nu heb ik een programma dat geconverteerd is uit linux en met een windows GUI moet draaien. So far so good. Het probleem onstaat wanneer het programmatje gaat 'patchen'.
Het programma moet in de file een header aanbrengen en aan het uiteinde ruwe data bijvoegen.
headers|data <-----oud
headers|nieuwe header|data|nieuwe data <----- nieuw
Het programma maakt gebruik van fopen,fread, etc. Het loopt allemaal prima totdat ineens, in sommige gevallen, slechts de helft wordt weggeschreven. Het irritante is nu dat het nog nooit bij mezelf is gebeurd (XP pro). Andere gebruikers zweren echter dat het af en toe gebeurd na wat hevig patchwerk. Men krijgt geen foutmeldingen en het programma zegt dat het patchen goed is verlopen.
Ik heb al geprobeerd de size van de gecopieerde data terug te brengen, strategische flushes geplaatst en de file tussendoor sluiten en heropenen. Ik heb met een search op Google niks relevants gevonden. Het probleem blijft terug komen bij die mensen.
Heeft iemand een idee wat de oorzaak kan zijn? Ik heb geen invloed op wat er reeds in de file staat en wat er gepatched wordt. Wel heb ik gecontroleerd dat het niet steeds bij dezelfde file gebeurd (tenminste, niet altijd). Ik vermoedde eerst dat er ergens een EOF sequence tussen zat, maar daar zou fread toch geen probleem mee moeten hebben?
edit:
ik gebruik trouwens Borland C++ Builder 5 voor de GUI
Nu heb ik een programma dat geconverteerd is uit linux en met een windows GUI moet draaien. So far so good. Het probleem onstaat wanneer het programmatje gaat 'patchen'.
Het programma moet in de file een header aanbrengen en aan het uiteinde ruwe data bijvoegen.
headers|data <-----oud
headers|nieuwe header|data|nieuwe data <----- nieuw
Het programma maakt gebruik van fopen,fread, etc. Het loopt allemaal prima totdat ineens, in sommige gevallen, slechts de helft wordt weggeschreven. Het irritante is nu dat het nog nooit bij mezelf is gebeurd (XP pro). Andere gebruikers zweren echter dat het af en toe gebeurd na wat hevig patchwerk. Men krijgt geen foutmeldingen en het programma zegt dat het patchen goed is verlopen.
Ik heb al geprobeerd de size van de gecopieerde data terug te brengen, strategische flushes geplaatst en de file tussendoor sluiten en heropenen. Ik heb met een search op Google niks relevants gevonden. Het probleem blijft terug komen bij die mensen.
Heeft iemand een idee wat de oorzaak kan zijn? Ik heb geen invloed op wat er reeds in de file staat en wat er gepatched wordt. Wel heb ik gecontroleerd dat het niet steeds bij dezelfde file gebeurd (tenminste, niet altijd). Ik vermoedde eerst dat er ergens een EOF sequence tussen zat, maar daar zou fread toch geen probleem mee moeten hebben?
edit:
ik gebruik trouwens Borland C++ Builder 5 voor de GUI
...Als het maar werkt