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. 线程的属性和 线程特定数据 Thread-specific Data

    一.posix 线程属性 POSIX 线程库定义了线程属性对象 pthread_attr_t ,它封装了线程的创建者可以访问和修改的线程属性.主要包括如下属性: 1. 作用域(scope) 2. 栈尺 ...

  2. malloc的内存分配原理

    0 堆内存的在计算机内存中的形式 根据<The C Programming language>推测得到堆内存,图中的Heap区域即为堆内存块(Heap区域的数目不代表计算机堆内存的真实数目 ...

  3. OpenCV245之SURF源代码分析

    一.fastHessianDetector函数分析 (1)參数 const Mat& sum                积分图片 const Mat& mask_sum vecto ...

  4. 支持向量机(SVM):应用实例

     SVM 应用实例(人脸识别): from __future__ import print_function from time import time import logging import m ...

  5. Math.Celing、Math.Floor、Math.DivRem与Math.BigMul

    返回大于或等于指定数字的最小整数.例如: double a=Math.Celing(0.00);  //0 double a=Math.Celing(0.40);  //1 double a=Math ...

  6. js 去掉前后空格

    前后去空格 return str.replace(/(^\s*)|(\s*$)/g, ""); 全部去空格 $("#panelbody").text().rep ...

  7. ubuntu14.4安装gtx970显卡驱动的艰辛历程

    1 说明: 本人机器说明,显卡gtx970,内存4G,原来系统是win7 64的.最近要学习机器学习的一些算法,需要安装ubuntu.不过安装环境这一条道路真的很曲折,来来回回弄了好久.以下说一下配置 ...

  8. html5中script的async属性

    html5中script的async属性 我兴奋于html5的原因之一是一些久久未能实现的特性现在可以真正运用于实际项目中了. 如我们使用placeholder效果蛮久了但是那需要javascript ...

  9. 【Android】6.0 第6章 对话框--本章示例主界面

    分类:C#.Android.VS2015: 创建日期:2016-02-08 在Android应用中,常用的对话框有:Toast.AlertDialog.ProgressDialog.时间选择对话框.日 ...

  10. android从Dialog对话框中取得文本文字

    android中Dialog对话框获取文本文字,只需要使用editor的getText方法就可以获得,示例如下:final EditText et = new EditText(this); et.s ...