c++ zapis i wczytanie z pliku tablicy
Ostatnio zmodyfikowano 2014-10-26 14:50
Teilor Temat założony przez niniejszego użytkownika |
c++ zapis i wczytanie z pliku tablicy » 2014-10-26 12:56:37 Pisze z następującym problemem. Dlaczego nie działą zapis i odczyt do pliku tabeli? Posiadam strukture w niej kilka pól i deklaruje w main() tablice: np. struktura tab[100]; Posiadam następujace funkcje: (s - tablica struktur , n - ilosc elementow tablicy , a[] - nazwa pliku) Po zapisaniu uruchamiam program ponownie wczytuje funcją dane ale nie wczytyją się. void zapisz( struktura tab[], int n, char a[] ) { FILE * plik; if(( plik = fopen( a, "w" ) ) == NULL ) cout << "Nie da sie otworzyc" << endl; fwrite( & n, sizeof( n ), 1, plik ); for( int i = 0; i < n; i++ ) fwrite( & tab[ i ], sizeof( tab[ i ] ), 1, plik ); fclose( plik ); }
void wczytaj( struktura tab[], int n, char a[] ) { FILE * plik; plik = fopen( a, "r" ); fread( & n, sizeof( n ), 1, plik ); for( int i = 0; i < n; i++ ) { fread( & tab[ i ], sizeof( tab[ i ] ), 1, plik ); } fclose( plik ); }
Oczywiście próbowałem inne rozwiązania plik.open( nazwa, std::ios::in | std::ios::out ); ale również nie śmiga. Z góry dziękuję za każdą pomoc. [/i] |
|
Monika90 |
» 2014-10-26 14:40:09 Powinieneś otwierać plik w trybie binarnym. Pokaż także co jest w tej strukturze. I sformatuj prawidłowo swój post, bo jest zupełnie nieczytelny. Wskazówki tutaj: http://cpp0x.pl/kursy/Kurs-STC/169 |
|
Teilor Temat założony przez niniejszego użytkownika |
» 2014-10-26 14:50:59 struct struktura { unsigned int id; char imie[ 10 ]; char nazwisko[ 20 ]; char plec; long int pesel; char miasto[ 20 ]; char funkcja[ 20 ]; };
Odkryłem, że sama funkcja zapisz działa, jedynie wczytaj nie. jeśli w wczytaj dodam couty wypisujące zawartość tab[], to wypisuje, ale po za funkcją po jej użyciu już nie :/ |
|
« 1 » |