Cocos2d-x 学习日记(一)

来源:互联网 发布:最全生活网络理财投资 编辑:程序博客网 时间:2024/06/06 02:32

数据交换方式之CSV数据交换格式

csv被称为“逗号分隔值”(comma-separated values,CSV)

CSV数据交换解码

csv格式比较简单,解码使用字符串的截取和分析就可以完成,使用__Stringf和__Array等Ref类,解析CSV比较方便。
__String有如下函数:
<ol><li><span style="font-family: Arial, Helvetica, sans-serif;">_Array * componentsSeparatedByString(const char * delimiter);</span></li></ol>

csv解码过程的要点:
①先分隔出每条记录,记录之间是通过回车符或换行符标明;②从每条记录中分隔字段,字段之间一般是用逗号等符号标明。

解码函数如下:
__Array * parse(const char * fileName){string path = FileUtils::getInstance()->fullPathForFilename(fileName);// 获取文件全称路径string content = FileUtils::getInstance()->getStringFromFile(path);// 通过文件全称路径获取文件内容__String * contentStr = _String::create(content);<strong>_Array * rows = contentStr->componentsSeparatedByString("\n");</strong>// 分行_Array * ret = _Array::createWithCapacity(rows->count());Object *obj = nullptr;CCARRAY_FOREACH(rows, obj){auto fieldStr = static_cast<__String *>(obj);<strong>_Array * fields = fieldStr->componentsSeparatedByString(",");</strong>//分字段ret->addObject(fields);}return ret;}

使用类封装该函数:
//.h文件class CSVParser{public:static _Array * parse(const char * fileName);<span style="white-space:pre"></span>// 静态函数,直接访问}//.cpp文件_Array * CSVParser::parse(const char * fileName){// ......}



0 0
原创粉丝点击