首页 > 代码库 > cocos2d::CCFileUtils::sharedFileUtils()->getFileData(szFile, "r", &bufferSize) 不同平台返回值不一样

cocos2d::CCFileUtils::sharedFileUtils()->getFileData(szFile, "r", &bufferSize) 不同平台返回值不一样

    string pathKey = CCFileUtils::sharedFileUtils()->fullPathForFilename(fileName);
    unsigned char* pBuffer = NULL;
    unsigned long bufferSize = 0;
    pBuffer = CCFileUtils::sharedFileUtils()->getFileData(pathKey.c_str(), "rb", &bufferSize);


我在使用CCFileUtils::sharedFileUtils()->getFileData(szFile, "r", &bufferSize) 读取一个csv文件时,发现win32平台比其他平台得到的值有时要小。

原因是:CCFileUtils::getFileData(szFile, "r", &bufferSize)对于一个文本文件(以\r\n换行的)

在win32下执行得到的文件尺寸小一些,似乎\r都被删除了,但是os下得到完整尺寸


现在只能用二进制方式读取文本文件,确保各平台下执行效果完全相同。

cocos2d::CCFileUtils::getFileData(szFile, "rb", &bufferSize);