大佬教程收集整理的这篇文章主要介绍了(独家)cocos2d-x与excel通过xml文件读写双向交互(上),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
前言的念念碎
Excel是一个伟大的把程序员,与一般电脑用户链接到一起的桥梁。是万国翻译器。
首先我推崇excel有以下几点原因:
第一:程序员可以把晦涩的数据库,转换成大多数电脑用户都能看得懂的数据。
第二:对于游戏工团队是完美的脚本配置工具。
高效的游戏制作团队粗分为:策划,美术,程序,三个职位。
其中策划本来是负责游戏的 :创意,体验,和游戏的一些数据配置。
然而游戏策划人员为了和程序人员进行协同工作,逼不得已要学习很多晦涩的脚本配置语言,软件等。
这样有三害:
一,是分散了策划人员主要精力,
二,没有统一的规范,三天两头要学习一个新的软件,造成很大的统一管理难度。
三,增加了游戏工作室招收策划人员的难度。
这就是为什么我要发布这套c++的excel读写文章,他对于游戏界的贡献必定是空前的。
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////华丽的分割线//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
本章节分两个部分:1,excel的读取。2,excel的写入。
Excel的读取
.h部分
static vector<String> split(String str,String pattern);//字符串分割
static bool isContantString(String sourceStr,175)">String patternStr);判断一个字符串是否包含另外一个
static vector<vector<String> > paserExcel(String detailStr);
.M部分
//c++字符串分割函数
vector<String>PersonalApiCplu::split(String str,String pattern)
std::String::size_type pos;
std::vector<std::String> result;
str+=pattern;//扩展字符串以方便操作
int size=str.size();
for(int i=0; i<size; i++)
pos=str.find(pattern,i);
if(pos<sizE)
std::String s=str.substr(i,pos-i);
i=pos+pattern.size()-1;
}
}
return result;
}
bool PersonalApiCplu::isContantString(String sourceStr,String patternStr)
const char *show;
show=strstr(sourceStr.c_str(),patternStr.c_str());//返回指向第一次出现r位置的指针,如果没找到则返回NULL。
bool isContant;
if (show == NULL)
isContant = NO;
}
else
isContant = YES;
}
return isContant;
}
vector<vector<String> > ExcelParser::paserExcel(String detailStr)
//去头莫名奇妙都会多出第一行为空,内容都从数组的第二位开始
//去尾莫名其妙多最后一位。
String pattern1("<Row ss:AutoFitHeight=\"0\">");//去头
vector<String>ivec1 = PersonalApiCplu::split(detailStr,pattern1);//取出所有单词套组
for (int j = 1;j<ivec1.size(); j++)
if (j == 59)
;
}
String pattern2("</Data></Cell>");//去尾
vector<String>ivec2 = PersonalApiCplu::split(ivec1[j],pattern2);//某个单词组中的所有元素
for (int i = 0;i<ivec2.size()-1; i++)//去尾
String patternStr = "</Font>";
if (PersonalApiCplu::isContantString(sourceStr,patternStr))//判断是否可以直接取,或者是要通过字符串合并
String pattern3("</Font>");//去尾
vector<String>ivec3 = PersonalApiCplu::split(iveC2[i],pattern3);
String s4;
String pattern4("xmlns=\"http://www.w3.org/TR/REC-html40\">");//去头
for (int k = 0; k<ivec3.size()-1; k++)//记得减去数组最后一位,去尾莫名其妙多最后一位。
vector<String>ivec4 = PersonalApiCplu::split(ivec3[k],pattern4);
tempIvec.push_BACk(s4.c_str());
}
else
String pattern3("<Data ss:Type=\"String\">");
vector<String>ivec3 = PersonalApiCplu::split(iveC2[i],pattern3);
String s3 = ivec3[1];
tempIvec.push_BACk(s3.c_str());
}
}
}
return ivec;
}
以上是大佬教程为你收集整理的(独家)cocos2d-x与excel通过xml文件读写双向交互(上)全部内容,希望文章能够帮你解决(独家)cocos2d-x与excel通过xml文件读写双向交互(上)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。