2012-11-16 40 views

回答

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); 
} 

编辑:

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

+0

谢谢。我不确定我们在那里保存了什么。有平台会受益吗? –

+0

@LelaDax我认为它可以与其他API一起使用,例如加载图像或声音。 – iabdalkader

+0

顺便说一下,将字符串实际复制到char *的函数是什么? –

相关问题