Ende sinnvoller Daten in File suchen...

28/11/2011 - 15:21 von Ansgar Strickerschmidt | Report spam
Hallo,

gegeben seien Dateien, die von vorne an sinnvolle Daten (ungleich 0x00)
enthalten, und ab einer gewissen Stelle nur noch 0x00. Ich möchte jetzt
die Lànge der sinnvollen Daten ermitteln, so dass ich die abschließenden
Nullbytes entfernen kann. Unter der Annahme, dass dem letzten benutzten
Byte keine 0x00'en folgen, die noch zum Nutzinhalt gehören könnten (was
man bedarfsweise ja leicht durch ein entsprechendes "dd" wieder ergànzen
könnte).
Das Skript soll also die Nummer des letzten "belegten" Bytes ausgeben.
Irgendjemand hat doch da bestimmt schon eine elegante Lösung im einsatz,
oder?

Ansgar

*** Musik! ***
 

Lesen sie die antworten

#1 ram
28/11/2011 - 17:42 | Warnen spam
"Ansgar Strickerschmidt" writes:
gegeben seien Dateien, die von vorne an sinnvolle Daten (ungleich 0x00)
enthalten, und ab einer gewissen Stelle nur noch 0x00. Ich möchte jetzt
die Lànge der sinnvollen Daten ermitteln, so dass ich die abschließenden
Nullbytes entfernen kann.



#include <stdio.h>

int main( void )
{ unsigned long l = 0, i = 0;
for(;;)
{ if( ferror( stdin ))return 2;
if( feof( stdin )){ printf( "%lu", l ); return 0; }
int const c = getchar();
if( c != EOF )
{ if( ++i == 0 )return 1;
if( c )l = i; }}}

Ähnliche fragen