cocos2d-x 读取 文件

string path = CCFileUtils::sharedFileUtils()->fullPathFromRelativePath("episode1level2.txt");

    

//    string path2 = CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(firstElement->FirstAttribute()->Value());

//    CCLog("game -- path : %s \n",path.c_str());

    

    FILE *fp =fopen(path.c_str(),"r");//根据路径打开文件

    

    char *pchBuf = NULL;//将要取得的字符串

    int  nLen = 0;//将要取得的字符串长度

    fseek(fp, 0,SEEK_END);//文件指针移到文件尾

    nLen =ftell(fp); //得到当前指针位置,即是文件的长度

    rewind(fp);   //文件指针恢复到文件头位置


    //动态申请空间,为保存字符串结尾标志\0,多申请一个字符的空间

    pchBuf = (char*)malloc(sizeof(char)*nLen+1);

    if(!pchBuf)

    {

        perror("内存不够!\n");

        exit(0);

    }


    //读取文件内容//读取的长度和源文件长度有可能有出入,这里自动调整 nLen

    nLen =fread(pchBuf, sizeof(char), nLen, fp);

    

    pchBuf[nLen] ='\0'; //添加字符串结尾标志

    

//    printf("%s\n", pchBuf);//把读取的内容输出到屏幕看看

    string detailStr = pchBuf;

    fclose(fp);  //关闭文件

    free(pchBuf); //释放空间

你可能感兴趣的:(cocos2d-x 读取 文件)