2012-11-16 75 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 *的函數是什麼? –

相關問題