关于Cocos2d-x中数据的存储提取和类型转换

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);

时间: 2024-10-26 05:48:36

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

射频识别技术漫谈(17)——射频卡中数据的存储形式

无论什么样的智能卡,不管是接触式的还是非接触式的,存储数据都是一个必须具备的功能.即使是只有一个5字节卡号的ID64格式的卡片也不例外,只不过卡里面的内容在出厂时就被厂家写死了,用户只能读出而不能写入或改变其内容罢了. 数据在存储介质中的存储格式往往和存储介质的容量有很大关系.容量小的存储器如E2PROM,一般以二进制的位(bit)或字节(byte)为单位:容量大的存储介质如硬盘.U盘,一般以文件的形式存储数据,文件有各种类型,文件大小只要别超过物理存储总量,几乎不受限制. 射频卡通常面向特定的

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

我们在实际开发中,有的时候需要储存或者备份比较复杂的数据.这些数据的特点是,内容多.结构大,比如短信备份等.我们知道SharedPreferences和Files(文本文件)储存这种数据会非常的没有效率.如果学过JavaWeb的朋友,首先可能想到的是数据库.当然了数据库是一个方案,那么是否还有其他的解决方案呢?今天我们在讲下Android笔记——Android中数据的存储方式(一) 提到的除了SharedPreferences和Files(文本文件)以外的其他几种数据储存方式:xml文件.SQL

Tair存储引擎之一Leveldb中数据的存储思想

1. Tair ldb简单介绍 1.1 tair非持久化/持久化存储引擎 tair 是淘宝自己开发的一个分布式 key/value 存储引擎. tair 分为持久化和非持久化两种使用方式. 非持久化的 tair 可以看成是一个分布式缓存. 持久化的 tair 将数据存放于磁盘中. 在最新版本的tair trunk中目前实现了以下4种存储引擎. 非持久化:mdb 持久化:fdb.kdb和 ldb 分别基于四种开源的key/value数据库:Memcached.Firebird.Kyoto Cabi

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

Android系统集成了一个轻量级的数据库:SQLite,所以Android对数据库的支持很好,每个应用都可以方便的使用它.SQLite作为一个嵌入式的数据库引擎,专门适用于资源有限的设备上适量数据存取,现在的主流移动设备像Android.iPhone等都使用SQLite作为复杂数据的存储引擎,并且它是以手机内存为储存的. 那么,实际开发项目中有大量数据需要读写,并且需要面临大量用户的并发储存的情况呢.就不应该把数据存放在手机等移动设备的SQLite数据库里,移动设备的储存能力和计算能力都不足以

C/C++中数据的存储

学java时了解到不同的数据在系统中存储的位置不一样,有的存在栈里,有的存在堆里.学C/C++时没注意过这个,最近学数据结构时遇到了问题:在定义一个结构体的指针时,系统如何给它分配的空间?从而让我想去了解C/C++中数据是如何存储的.同时在学递归时就一直听到系统栈这个词,这次可以一并学习. 在CSDN中了解到C语言程序运行时内存的分类方式,有四大类或五大类两种.在其中我要关注的是堆区和栈区.堆区用于临时申请,栈区用于函数中的临时变量的存储.一般来说堆区无限大,栈区有一定大小. 在定义一个结构体的

opengl中的Floatbuffer和IntBuffer与java中数据的存储方式不同的解决方法

android OpenGL ES的书中使用了下面代码: 1)创建三个顶点 private IntBuffer triggerBuffer = IntBuffer.wrap(new int[]{ 0,one,0,      -one,-one,0, one,-one,0, }); 2)然后使用triggerBuffer 画顶点 例如:gl.glVertexPointer(3, GL10.GL_FIXED, 0,triggerBuffer ); 经常会出现:Must use a native or

iOS开发中数据的存储方式

1.plist属性列表 >1.适用对象:仅仅是Foundation框架中自带的一些类,比如:NSString/NSArray/NSDicionary/NSSet/NSNumber/NSData >2.调用对象的writeToFileXXX方法就可以写入文件 >3.调用对象的XXXWithcontensOfFile方法就可以从文件中读取对象内容 2.偏好设置 >1.本质还是plist属性列表的方法进行存储 >2.存取非常简单  (不用关心文件夹和文件名) >3.只能存储一

iOS中数据持久存储方式及区别

1 NSUserdefaults 主要用来存储一些短小的信息,例如应用程序设置和属性及用户数据. 2 属性列表 以列表的形式把数据存储到磁盘上.属性列表类包括NSArray, NSDictionary, NSString, NSNumber, NSDate, NSdata. 这些类型的数据可用直接调用writeToFile和相应的加载函数来存储到磁盘和从磁盘读出. 相应的加载函数有: arrayWithContentsOfFile: dictionaryWithContentsOfFile: s

关于Cocos2d-x中数据的存储

当局分数的打印和最高分数的记录 1.首先定义一个Label类型的节点在GameScene.cpp的init方法中,设置初始分数为0 _myScore = 0; scorelabel = Label::createWithSystemFont("Score: 0", "Arial", 36); scorelabel->setAnchorPoint(Vec2(1, 0)); scorelabel->setColor(Color3B::BLACK); scor