或者使用常见的C函数更好吗?
答案 0 :(得分: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
有一个示例here,展示了如何打开和读取文件。
#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/