size_t SDL_RWread(struct SDL_RWops* context, void* ptr, size_t size, size_t maxnum)
context | SDL_RWopsへのポインタ |
ptr | 読み込んだデータを書き込むポインタ |
size | 1つのオブジェクトのバイト数 |
maxnum | 読み込む最大のオブジェクト数 |
SDL_RWops *rw = SDL_RWFromFile("test.bin","r");
if (rw != NULL) {
extern Uint8 buf[256];
SDL_RWread(rw, buf, sizeof (buf), 1);
SDL_RWclose(rw);
}
それぞれsizeバイトの最大num個のオブジェクトを読み込みptrポインタへ書き込む. 読み込むオブジェクトの数は要求の数より少ない場合がある. エラーが発生した, またはデータストリームを完全に読み込んだ場合は0を戻す.
SDL_RWcloseは実際にはSDL_RWopsのreadメソッドを呼ぶマクロである.
32bit整数が保存されていることを想定している. 40byteのデータを読み込み, bufferに書き込む.
それぞれのintは4byte, 32bitである.
int buffer[10];
SDL_RWread(rwop, buffer, sizeof(buffer), 4);
64bit整数が保存されていることを想定している. 80byteのデータを読み込み, bufferに書き込む.
それぞれのint(long)は8byteで, 10個の値を読み込む.
long buffer[10];
SDL_RWread(rwop, buffer, sizeof(buffer), 8);