Przejdź do zawartości

BasicC/Pliki

Z Wikibooks, biblioteki wolnych podręczników.

Standardowa obsługa plików może być kłopotliwa w niektórych systemach, np. Android, dlatego zaleca się stosowanie specjalnych komend opartych na SDL, które są odpowiednikami komend zdefiniowanych w Basic.h poprzedzonych przedrostkiem RW. Otwarty plik zostaje przypisany do zmiennej wskaźnikowej SDLRWops typu SDL_RWops.

RWOpen(N,M)

[edytuj]

Otwarcie pliku o nazwie N w trybie M. Wywołuje SDLRWops=SDL_RWFromFile(N,#M);

RWClose

[edytuj]

Zamyka plik. Wywołuje SDL_RWclose(SDLRWops);

RWBGet(b,n)

[edytuj]

Odczytuje n bajtów z pliku i zapisuje do bufora b. Wywołuje SDL_RWread(SDLRWops,b,1,n);

RWBPut(b,n)

[edytuj]

Zapisuje n bajtów do pliku z bufora b. Wywołuje SDL_RWwrite(SDLRWops,b,1,n);

RWBLoad(F,b,n)

[edytuj]

Wczytuje z pliku o nazwie F n bajtów do bufora b. Wykonuje {SDLRWops=SDL_RWFromFile(F,"rb");SDL_RWread(SDLRWops,b,1,n);SDL_RWclose(SDLRWops);}

RWBSave(F,b,n)

[edytuj]

Zapisuje do pliku o nazwie F n bajtów z bufora b. Wykonuje {SDLRWops=SDL_RWFromFile(F,"wb");SDL_RWwrite(SDLRWops,b,1,n);SDL_RWclose(SDLRWops);}

RWInp

[edytuj]

Funkcja zwraca znak (bajt) odczytany z bieżącej pozycji pliku. Wywołuje SDL_ReadU8(SDLRWops)

RWOut(c)

[edytuj]

Zapisuje bajt c do pliku. Wywołuje SDL_WriteU8(SDLRWops,c);

RWLoc

[edytuj]

Zwraca aktualną pozycję "kursora" pliku. Wywołuje SDL_RWtell(SDLRWops)

RWLof

[edytuj]

Zwraca długość pliku. Wywołuje SDL_RWsize(SDLRWops)

RWSeek(D,S)

[edytuj]

Przesuwa "kursor" pliku w zależności od parametru S przyjmującego:

  • SET - do pozycji D
  • CUR - o D pozycj
  • END - o D od końca

Wywołuje SDL_RWseek(SDLRWops,D,RW_SEEK_##S);