Pre neki dan sam bas to pominjao, npr za C++ Builder:
// NETESTIRANO:
Code:
TMemoryStream *MS = NULL;
try
{
try
{
MS = new TMemoryStream;
MS->LoadFromFile( "C:\\nekifajl.png" );
// ==============================
&((LPBYTE)(MS->Memory))[ 0x235 ] = 0xFF;
// ==============================
MS->SaveToFile( "C:\\nekifajl.png" );
}
catch ( const Exception &e )
{
// Greska pri otvaranju datoteke...
}
}
__finally
{
if ( MS )
delete MS;
}
Potpuno isto je i za svaki drugi buffer, samo sto moras SAM da implementriras:
- otvaranje fajla,
- rezervisanje prostora za buffer (shodno velicni fajla),
- punjenje buffera
- IZMENA: buffer[ 0x235 ] = 0xFF;
- snimanje buffera u datoteku.
... ako nesto nisam prevideo.