随笔分类 - C++
摘要:用Cocos开发模型特效工具编辑器,跨Mac和windows,当中有个需求是读取并解析excel文件,但网上的查找的例子几乎都只能是在windows下面使用,再或者是命令行脚本之类的。于是,自己写了一个非常轻量级的excel解析代码,纯cpp,除了依赖几个cocos2d 方法(zip解压和tinyx...
阅读全文
摘要:偶然想到要在函数内部使用lambda递归调用,以下是可行的写法,可参考 1 std::function blendFucCall; 2 3 blendFucCall = [&blendFucCall](Node * container,const BlendFunc &bl...
阅读全文
摘要:转自http://blog.csdn.net/xiaolajiao8787/article/details/5882609类型VectorDequeList内存管理PoorGoodperfect使用[ ]和at() 操作访问数据Very goodNormalN/AIterator的访问速度GoodV...
阅读全文
摘要:Rad_to_deg --- 弧度_到_角度 的 比率Rad_to_deg = 45.0 / atan(1.0);弧度值到角度值的转换 用 角度 = 弧度值* Rad_to_deg 角度值到弧度值的转换 用 弧度值 = 角度 / Rad_to_deg
阅读全文
摘要:linux c遍历文件夹的方法比较简单,使用c来实现#include #include #include #include #include #include ...enum{ DT_UNKNOWN = 0, //未知类型 DT_FIFO = 1, //管道 DT_CHR = 2, //字符设备文件...
阅读全文
摘要:c++11c++11常数初始化,使用constexpr关键字 constexpr in getNum(){return 4}; int some_arr[getNum + 3]; 初始化列表//std::initializer_listauto list = {1,2,35,57};...
阅读全文
摘要:计算机是无法产生真正的随机数的,都是伪随机。获取随机数的方式和算法多种多样,这里只给出一种方法,基于最新的C++11。12345#includestd::uniform_int_distributionu(1,1000);std::default_random_enginee;e.seed((uns...
阅读全文
摘要:libcurl发送post请求,包括httpheader参数static size_t getCharCode(void *ptr, size_t size, size_t nmemb, void *userdata){ string *version = (string*)userdata;...
阅读全文
摘要:1. 字符串替换void string_replace(std::string &strBig, const std::string &strsrc, const std::string &strdst){ std::string::size_type pos=0; std::strin...
阅读全文
摘要:pvr.ccz 是把pvr用zlib算法压缩后的图像格式,其优点是可以提升文件读取效率。大多数情况下我们可以用一些工具来将pvr压缩到pvr.ccz ,下面提供一个c++方法来完成这个过程int CompressPvrToCCZFile(unsigned char *buffer,unsigned int fileLength, const char *newFilePath){ //buffer pvr文件二进制数据,fileLength 文件长度,newFilePath 保存地址 unsigned long bufferSize = fileLength; char* Des...
阅读全文
摘要:#include "regex.h"bool isEmail(const char *email){ const char *eset = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; regex_t re; regmatch_t subs[10]; regex_t stuRT; regcomp(&stuRT, eset, REG_EXTENDED); int err = regexec(&stuRT, email, (size_t)10, subs, 0); if...
阅读全文
摘要:cocos2dx的计时器很好用,但当app进入后台,其计时器会pause掉,如果想要一个稳恒计时器就得自己去实现完成了,在Cocos2d-x for ios中我们可以利用NSTimer类并结合objc++来实现,非常好用。在Android平台我们就不得不用java类和jni来实现,计时器很多时候是用来刷新UI,所以还得考虑opengl线程调用问题下面我贴了一个用java线程来实现的类,这个是项目正在使用的部分代码。一个是秒计时器,用于倒计时使用;一种是毫秒计时器,取网络数据包时使用package com.iGamer;import org.cocos2dx.lib.Cocos2dxActivi
阅读全文
摘要:前面博客说到,cocos2d-x c++界面层运行在一个GLThread线程里面,严格的说是运行在Cocos2dxGLSurfaceView(继承自GLSurfaceView)里面。opengl的渲染,刷新都是有这个类来完成。 所以我们不能直接在java方法里调用c++方法来刷新界面,唯一的方法就是绕开javaUI主线程,让GLSurfaceView来做这件工作。ok,前面说到Cocos2dxGLSurfaceView 类,它是cocos2d-x引擎的一部分,直接修改该类太粗暴。所以以下新建一个ClassTimerJavaToC.java 以下只写核心方法import org.cocos2dx
阅读全文
摘要:C++ STL中vector应用#include "iostream"#include "vector"using namespace std;//输出vector中所有类容void display(vector<int> &vc){ for (int i=0;i<vc.size();i++) { cout<<vc[i]<<" "; //cout<<vc.at(i)<<" "; 也可以,二者区别在于 vc.at(i)会检查数组下标是否越界,而
阅读全文
摘要:字符串的是连接object-c和c++的最重要元素,以下总结常用的转换方法char * /const char *和NSString之间的转化//char * /const char *转NSStringNSString* strPath = [NSStringstringWithUTF8String:filename];//NSString转char * /const char *constchar* filePathChar = [filePathUTF8String];////////////////////////////////////////////////华丽的分割线//////
阅读全文
摘要:1. FILE这个结构包含了文件操作的基本属性,对文件的操作都要通过这个结构的指针来进行,此种文件操作常用的函数见下表 函数 功能fopen() 打开流fclose() 关闭流fputc() 写一个字符到流中fgetc() 从流中读一个字符fseek() 在流中定位到指定的字符fputs() 写字符串到流fgets() 从流中读一行或指定个字符fprintf() 按格式输出到流fscanf() 从流中按格式读取feof() 到达文件尾时返回真值ferror() 发生错误时返回其值rewind() 复位文件定位器到文件开始处remove() 删除文件fread() 从流中读指定个数的字符fwri
阅读全文

浙公网安备 33010602011771号