Serwis Edukacyjny
Nauczycieli
w I-LO w Tarnowie

obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

Autor artykułu: mgr Jerzy Wałaszek
Uaktualniono: 31.07.2022

©2022 mgr Jerzy Wałaszek
I LO w Tarnowie

Interfejs SDL2:

SDL_RWFromFile

SPIS TREŚCI

Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.

SDL_RWFromFile

Użyj tej funkcji, aby utworzyć nową strukturę SDL_RWops do odczytu/zapisu do pliku o podanej nazwie.

Składnia

SDL_RWops* SDL_RWFromFile(const char* file,
                          const char* mode)

Parametry funkcji

file łańcuch UTF-8 reprezentujący plik do otwarcia.
mode łańcuch ASCII reprezentujący tryb, który należy zastosować przy otwieraniu pliku; zobacz do Uwag.

Wartość zwracana

Zwraca wskaźnik do utworzonej struktury SDL_RWops lub NULL przy błędzie; wywołaj funkcję SDL_GetError(), aby otrzymać więcej informacji na temat błędu.

Przykładowy kod

SDL_RWops *file = SDL_RWFromFile("myimage.bmp", "rb");
SDL_Surface *image = SDL_LoadBMP_RW(file, 1); /* 1, aby automatycznie zamknąć strumień. */
/* Tutaj zrób coś z obrazkiem. */

Uwagi

Łańcuch mode jest traktowany prawie tak samo jak w wywołaniu funkcji fopen() biblioteki C, nawet jeśli SDL nie używa wewnętrznie funkcji fopen().

Dostępne łańcuchy mode:

r Otwórz plik do odczytu. Plik musi istnieć na dysku.
w Utwórz pusty plik do zapisu. Jeśli na dysku istnieje jakiś plik o takiej samej nazwie, to zostanie on usunięty i na jego miejscu będzie utworzony nowy, pusty plik.
a Dołącz do pliku. Operacje zapisu będą powodowały dołączanie danych do końca pliku. Jeśli pliku nie ma na dysku, to zostanie utworzony nowy, pusty plik.
r+ Otwórz plik do zapisu/odczytu. Plik musi istnieć na dysku.
w+ Utwórz pusty plik do zapisy/odczytu. Jeśli na dysku istnieje jakiś plik o takiej samej nazwie, to zostanie on usunięty i na jego miejscu będzie utworzony nowy, pusty plik.
a+ Otwórz plik do odczytu/dołączania. Wszystkie operacje zapisu będą wykonywane na końcu pliku, chroniąc poprzednią zawartość przed nadpisaniem. Możesz zmieniać pozycję (fseek, rewind) wewnętrznego wskaźnika na dowolne miejsce przy odczycie, lecz operacje zapisu spowodują powrót na koniec pliku. Jeśli pliku nie ma na dysku, to zostanie utworzony nowy, pusty plik.

UWAGA:: W celu otwarcia pliku jako binarnego należy dołączyć literkę "b" do łańcucha mode. Ten dodatkowy znak "b" może pojawiać się albo na końcu łańcucha (tworząc w ten sposób tryby złożone: "rb", "wb", "ab", "r+b", "w+b", "a+b") lub może zostać wstawiony pomiędzy literę i znak "+" w trybach mieszanych ("rb+", "wb+", "ab+"). Za tym ciągiem znaków mogą pojawiać się inne znaki, lecz nie będą one miały już wpływu na tryb. Przykładowo litera "t" jest czasem dodawana, aby wyraźnie zaznaczyć, iż plik jest tekstowy.

Funkcja obsługuje nazwy plików Unicode, lecz muszą one być zakodowane w formacie UTF-8, bez względu na działający w tle system operacyjny.

Jako funkcja awaryjna SDL_RWFromFile() przezroczyście otworzy plik o pasującej nazwie w aplikacjach dla systemu Android.

Zamknięcie strumienia SDL_RWops zamknie uchwyt pliku, który SDL przechowuje wewnętrznie.

Powiązane funkcje

Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2022 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.