Zapisanie konkretnego wiersza tablicy do pliku

0

Witam,

mam problem z zapisaniem konkretnego wiersza tablicy dwuwymiarowej do pliku binarnego.

Konkretnie, problem dotyczy odnalezienia adresu, od którego zacząć zapisywać, bo dalej to już funkcja winapi, write, określa jak dużą liczbę bajtów zapisać.

Dla przykładu weźmy tbalicę 10x10. Jak dostać adres czwartego wiersza?

0

poczytaj o fseek

0

Zapis i odczyt macierzy działa już ładnie. Teraz tylko mam problem z tym czwartym wierszem.

Funkcje fseek i setFilePointer nie są tu potrzebne, bo to nie w pliku chcę ustawić wskaźnik, odkąd dokąd ma odczytać, a do nowego pustego pliku binarnego zapisać konkretną część macierzy, np.

     BOOL R = WriteFile(matrix, &M, sizeof(double)*120, &writed, NULL);
     CloseHandle(matrix);

     if(R == false) {

        cout << "Blad w zapisie danych";
     } 

M, jest tablicą 15x8. Jaki tam podać adres, żeby zapisać tylko te 15 liczb z wiersza czwartego? Oczywiście w kolejnym parametrze będzie sizeof(double)*15

Czyli w zasadzie jedyną niewiadomą jest, jak nakierować funkcję, żeby zaczęła zapisywać Od pierwszej liczby czwartego wiersza, bo długość zapisanego łańcucha to już ten kolejny argument definiuje.

0
      BOOL R = WriteFile(matrix, &M[4][0], sizeof(double)*120, &writed, NULL);
     CloseHandle(matrix);
 
     if(R == false) {
 
        cout << "Blad w zapisie danych";
     } 

Nie wiedziałem, że to takie proste :-) można zamknąć

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