1.获得存储在UserDefault中的变量,但是获得的变量是一个String类型的值,要用atoi函数转换为整型,但是atoi函数的传递参数是一个char*类型的值,所以用_Score.c_str()把String转化为Char*

auto userdefault = UserDefault::getInstance();
auto _Score = userdefault->getStringForKey("RewardScore");
_rewardScore = atoi(_Score.c_str());
_rewardScore = _rewardScore + 10;

2.把数据存储在UserDefault中,但是必须先把整型的_rewardScore转化为字符型的变量,用到sprintf函数,转化后就可以存储了

char score_str[100] = { 0 };
sprintf(score_str, "%d", _rewardScore);
userdefault->setStringForKey("RewardScore", score_str);

3.存储在map类型的数据的一系列操作

// 测试代码开始
//Map<std::string, Node*> map1;
// empty函数返回Map容器是否为空
//log("%s", map1.empty() ? "map1容器为空!" : "map1容器不为空!");
// size函数返回Map容器中元素的数量
//log("map1.size: %i", (int)map1.size());
//log("bucket_count = %d", static_cast<int>(map1.bucketCount()));
//for (int i = 1; i <= 10; i++)
//{
// auto node = Node::create();
// node->setTag(i);
// // insert函数向容器中插入新元素
// map1.insert(StringUtils::toString(i), node);
//}
//log("循环给map1容器insertNode之后:");
//log("%s", map1.empty() ? "map1容器为空!" : "map1容器不为空!");
//log("map1.size: %i", (int)map1.size());
//log("----- Map容器中所有key ---------");
//// keys函数获得Map容器的所有键,遍历打印结果并不是插入顺序显示,因为Map是无序的
//auto keys = map1.keys();
//for (const auto& key : keys)
//{
// log("key = %s", key.c_str());
//}
//// getRandomObject函数获得随机的对象
//log("getRandomObject: %i", map1.getRandomObject()->getTag());
//log("------ 根据值查找key --------");
//// at函数根据键查找返回值
//auto node10Key = map1.at("10");
//map1.insert("100", node10Key);
//map1.insert("101", node10Key);
//map1.insert("102", node10Key);
//// 返回参数V在Map中匹配的所有键的集合
//auto keysForObject = map1.keys(node10Key);
//for (const auto& key : keysForObject)
//{
// log("key = %s", key.c_str());
//}
//// find函数根据key查找返回对应的迭代器,迭代器中包含了键和值
//auto nodeToFind = map1.find("100");
//log("first: %s", nodeToFind->first.c_str());
//log("second: %i", nodeToFind->second->getTag());
//// erase函数删除容器中的元素
//log("------ erase之后 --------");
//// 根据key删除
//map1.erase("1");
//// 根据迭代器删除
//map1.erase(map1.find("2"));
//// 根据键集合删除
//std::vector<std::string> itemsToRemove;
//itemsToRemove.push_back("3");
//itemsToRemove.push_back("4");
//itemsToRemove.push_back("5");
//map1.erase(itemsToRemove);
//for (const auto& key : map1.keys())
//{
// log("key = %s", key.c_str());
//}
//// clear函数清空容器
//map1.clear();
//log("------ clear之后 --------");
//log("%s", map1.empty() ? "map1容器为空!" : "map1容器不为空!");
//// size函数返回Map容器中元素的数量
//log("map1.size: %i", (int)map1.size());

关于Cocos2d-x中数据的存储提取和类型转换的更多相关文章

  1. Android笔记——Android中数据的存储方式(二)

    我们在实际开发中,有的时候需要储存或者备份比较复杂的数据.这些数据的特点是,内容多.结构大,比如短信备份等.我们知道SharedPreferences和Files(文本文件)储存这种数据会非常的没有效 ...

  2. Android笔记——Android中数据的存储方式(一)

    Android中数据的存储方式 对于开发平台来讲,如果对数据的存储有良好的支持,那么对应用程序的开发将会有很大的促进作用. 总体的来讲,数据存储方式有三种:一个是文件,一个是数据库,另一个则是网络.其 ...

  3. Matlab中数据的存储方式

    简介 MATLAB提供了丰富的算法以及一个易于操作的语言,给算法研发工作者提供了很多便利.然而MATLAB在执行某些任务的时候,执行效率偏低,测试较大任务量时可能会引起较长时间的等待.未解决这个问题, ...

  4. Android笔记——Android中数据的存储方式(三)

    Android系统集成了一个轻量级的数据库:SQLite,所以Android对数据库的支持很好,每个应用都可以方便的使用它.SQLite作为一个嵌入式的数据库引擎,专门适用于资源有限的设备上适量数据存 ...

  5. 【Cocos2d-X开发学习笔记】第29期:游戏中数据的存储(上)

    本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 一般游戏中都需要记录玩家数据,便于玩家下次登录时 ...

  6. 【Cocos2d-X开发学习笔记】第30期:游戏中数据的存储(下)

    本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 一.对数据进行编解码 在上一期中,我们使用了CC ...

  7. C/C++中数据的存储

    学java时了解到不同的数据在系统中存储的位置不一样,有的存在栈里,有的存在堆里.学C/C++时没注意过这个,最近学数据结构时遇到了问题:在定义一个结构体的指针时,系统如何给它分配的空间?从而让我想去 ...

  8. Unity中数据的存储与交互的初步分析(PlayerPrefs,Dictionary,JsonUnility)

    1.PlayerPrefs   PlayerPrefs.SetString(key,Value);  PlayerPrefs.GetString(key,Value);字符串类型 PlayerPref ...

  9. 关于Cocos2d-x中数据的存储

    当局分数的打印和最高分数的记录 1.首先定义一个Label类型的节点在GameScene.cpp的init方法中,设置初始分数为0 _myScore = 0; scorelabel = Label:: ...

随机推荐

  1. android 屏幕适配问题

    转自http://blog.sina.com.cn/s/blog_74c22b210100tn3o.html 如何将一个应用程序适配在不同的手机上,虽然这不算是一个技术问题,但是对于刚刚做屏幕的开发人 ...

  2. Unix环境高级编程(四)数据系统文件和信息

    本章主要介绍了Unix系统的正常运行要使用的与系统有关的数据文件和信息.如:口令文件,阴影文件.组文件.附加组.系统标识.时间和日期历程. 口令文件,即Unix系统用户数据库,存储在/etc/pass ...

  3. 【Oracle错误集锦】:ORA-12154: TNS: 无法解析指定的连接标识符

    相信这个错误大家都不陌生,仅仅要安装使用过Oracle的预计都遇到过这个问题,一般出如今用PL/SQL连接Oracle数据库的时候发生的. 导致这个错误的原因以及解决方式都是多种多样的,我也是三番五次 ...

  4. 博客目录之C#

    C# BackgroundWorker的Bug??? C# BeginInvoke和EndInvoke方法 c# 高效的线程安全队列ConcurrentQueue C# ManualResetEven ...

  5. php 解析xml

    解析xml,返回一个对象. $obj = simplexml_load_string($XML, 'SimpleXMLElement', LIBXML_NOCDATA); 查看结果var_dump($ ...

  6. go系列之数组

    数组 数组是同一类型元素的集合.例如,整数集合 5,8,9,79,76 形成一个数组.Go 语言中不允许混合不同类型的元素,例如包含字符串和整数的数组.(译者注:当然,如果是 interface{} ...

  7. python 在升级到python2.7之后安装相关插件

    # yum update # yum install centos-release-SCL # yum search all python27 在搜索出的列表中发现python27-python-de ...

  8. Oracle学习笔记之五sp1,PL/SQL之BULK COLLECT

    Bulk Collect特性可以让我们在PL/SQL中能使用批查询,批查询在某些情况下能显著提高查询效率. BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQ ...

  9. modelsim常见错误

    1. Error: (vlog-7) Failed to open design unit file "D:/Xilinx/verilog/src/glbl.v" in read ...

  10. [sql]大型网站MySQL深度优化揭秘

    大型网站MySQL深度优化揭秘 第1章优化的思路和线路 1.1 网站优化的思路    2 1.2 MySQL优化,nginx这样的东西怎么优化? 第2章硬件层面优化 2.1 数据库物理机 2.1.1 ...