czy można jakoś wpisać za jednym zamachem tablicę int tablica[10000] do pliku binarnego? a potem jeszcze to jakoś odczytać?
???
0
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 ??).
1
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 ;>