tablica do pliku binarnego

tablica do pliku binarnego
  • Rejestracja: dni
  • Ostatnio: dni
0

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

flabra
  • Rejestracja: dni
  • Ostatnio: dni
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 ??).

ZI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 292
Gynvael Coldwind
  • Rejestracja: dni
  • Ostatnio: dni
  • 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 ;>

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.