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ć?
???

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 ??).

0

mozna...

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 ;>

1 użytkowników online, w tym zalogowanych: 0, gości: 1