tablica do pliku binarnego

tablica do pliku binarnego
0

czy można jakoś wpisać za jednym zamachem tablicę int tablica[10000] do pliku binarnego? a potem jeszcze to jakoś odczytać?
???

flabra
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 12 lat
0

banalnie:
fopen(),fwrite()/fread(),fclose() (stdio.h)
no i fseek() jesli chcesz skakac po pliku.

Albo podobnie zamiast pliku uchwyty i funkcje z io.h, albo i strumieni (iostream ??).


Linuksa, czy innego Uniksa, można opisać za pomocą logiki boolowskiej a nie za pomocą prawdopodobieństwa. 'System szesnastkowy jest wspaniały! W skali od 1 do 10 daję mu E' extreme safety for Ubuntu:
sudo echo -e 'Defaults targetpw\nDefaults timestamp_timeout=0' >> /etc/sudoers
ZI
  • Rejestracja:ponad 21 lat
  • Ostatnio:prawie 18 lat
  • Postów:292
0
Gynvael Coldwind
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 2 miesiące
  • Lokalizacja:Zurich, Switzerland
  • Postów:457
1

mozna...

Kopiuj
int tab[ 10000 ];

/* zapis */
FILE *f;
f = fopen( "nowy.plik", "wb" );
if( !f ) return;
fwrite( tab, sizeof( int ), sizeof( tab ) / sizeof( int ), f );
/* lepiej nawet uzyc fwrite( tab, 1, sizeof( tab ), ff ); */
fclose( f );

/* odczyt */
FILE *f;
f = fopen( "nowy.plik", "rb" );
if( !f ) return;
fread( tab, sizeof( int ), sizeof( tab ) / sizeof( int ), f );
fclose( f );

jest jednak jedno male ALE....

mianowicie... jesli zapiszesz ta tablice na kompie BIG Endianowym, tyo LITTLE Endianowy komp zle ja odczyta...
tj jesli utowrzysz ta tablice na Intelu/AMD, tyo Sparc ja zle odczyta. ofc konwersja endianow wystarczy zeby ja przerobic na dobra wersje ;>


peace,
gynvael.coldwind//vx "Imagination is more important than knowledge..." Albert Einstein

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.