关于Cocos2d-x中数据的存储提取和类型转换
2016-12-04 15:11
417 查看
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类型的数据的一系列操作
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());
相关文章推荐
- 关于int型整数按逆序存入数组中的问题(也即十进制数和其他类型数据的转换问题)
- 关于2147217913 从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界 的问题解决方法
- C# winform关于datagridview中的列的数据类型转换问题
- 类型强制转换,数据内存存储形式
- 从“求1+1/2+1/3+......+1/100”中观察类型转换和浮点型的数据存储
- 关于C#数据类型之间转换的问题!
- 关于数据类型转换
- 存储过程转换数据类型 SQL Server Visual Basic
- 关于sql where id in 转换成数据类型 int 时失败
- VC学习资料收集(2):关于数据类型转换
- 关于数据类型转换的补充知识
- 关于C#数据类型之间转换的问题
- 关于数据类型转换的补充知识
- 关于float double的数据类型的细节,在处理转换问题的时候非常有用
- (转)关于数据类型转换的有趣问题
- 关于C#数据类型之间转换的讨论
- 关于数据类型转换的补充知识
- 关于2147217913 从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界 的问题解决方法
- 关于内存和指针操作,数据类型转换本质的理解
- 关于sql条件语句where id in (@参数)执行报错问题(转换成数据类型 int 时失败)(