0

それとも、一般的なC関数を使用する方が良いですか?

4

1 に答える 1

1

SDL には I/O API があります。簡単かどうかはわかりませんが、移植可能である必要があります。それらは関連する機能です:

SDL_RWops *SDL_RWFromFile(const char *file, const char *mode); // open file
SDL_RWread(ctx, ptr, size, n); //read from file
SDL_RWclose(ctx)   //close file

ここに、ファイルを開いて読み取る方法を示す例があります。

#include <stdio.h>
#include "SDL_rwops.h"
int main()
{
  int blocks;
  char buf[256];
  SDL_RWops *rw=SDL_RWFromFile("file.bin","rb");
  if(rw==NULL) {
    fprintf(stderr,"Couldn't open file.bin\n");
    return(1);
  }

  blocks=SDL_RWread(rw,buf,16,256/16);
  SDL_RWclose(rw);
  if(blocks<0) {
    fprintf(stderr,"Couldn't read from file.bin\n");
    return(2);
  }

  fprintf(stderr,"Read %d 16-byte blocks\n",blocks);
  return(0);
}

編集:ここにファイル API に関するチュートリアルがあります。画像を読み込むときに使いやすい場合があります。

http://www.aspfree.com/c/a/c-sharp/game-programming-using-sdl-the-file-io-api/

于 2012-11-16T13:16:43.330 に答える