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());
  • 相关阅读:
    反转链表 16
    CodeForces 701A Cards
    hdu 1087 Super Jumping! Jumping! Jumping!(动态规划)
    hdu 1241 Oil Deposits(水一发,自我的DFS)
    CodeForces 703B(容斥定理)
    poj 1067 取石子游戏(威佐夫博奕(Wythoff Game))
    ACM 马拦过河卒(动态规划)
    hdu 1005 Number Sequence
    51nod 1170 1770 数数字(数学技巧)
    hdu 2160 母猪的故事(睡前随机水一发)(斐波那契数列)
  • 原文地址:https://www.cnblogs.com/HangZhe/p/6130868.html
Copyright © 2011-2022 走看看