zoukankan      html  css  js  c++  java
  • 关于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);

    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());
  • 相关阅读:
    [BJDCTF 2nd]fake google
    flask之ssti模板注入初窥
    ctfshow-web14
    ctfshow-web 13
    ctfshow-web12
    ctfshow-web 11
    ctfshow-web10
    ctfshow-web9
    python学习笔记(四)- 常用的字符串的方法
    python学习笔记(三)- 字典、集合
  • 原文地址:https://www.cnblogs.com/HangZhe/p/6130868.html
Copyright © 2011-2022 走看看