zoukankan      html  css  js  c++  java
  • 【转载】cocos2d-x类型转换(CCstring int string char UTF-8互转)以及字符串详解

    cocos2d-x中的字符串:

    <1>:使用 const char* 和 std::string

    const char* 是C风格的字符串  ,std::string 是C++风格的字符串,它封装了 const char *

    初始化 std::string 对象:

    std::string name = "tony";

    std:: string name = std::string("Micheal");

    std::string 指针类型:

    std::string namep = new std::string("Micheal");

    ... ....

    delete namep;

    把std::string 类型转换为 const char* 类型:

    const char* cstring = name.c_str();

    const char* cstring = namep->c_str();

    <2>:使用cocos2d::__string

    来源于Objective-c 的NSString

    创建它的主要的静态函数如下:

    _static __String * create(const std::string &str)

    _static__String* createWitnFormat(const char* format,......)

    数据类型之间的转换:

    cocos2d::__String 转为const char*类型  举例如下:

    __String * name = __String::Create("Hi Micheal');

    const char * cstring = name->getCstring();

    const char* 转换为 cocos2d::__String类型,举例如下:

    const char * cstring = "Hi Micheal";

    __String* ns = __String::createWithFormat("%s",cstring);

    std::string转换为cocos2d::__String()类型,举例如下:

    std::string string = "Hi Micheal";

    __String * ns = __String::CreateWithFormat("%s",string.c_str());

    cocos2d::__String 转换为int类型

    int num = 123;

    __String * ns = __StringCretaeWitjFormat("%d",num);

    int num2 = ns->intValue();


    在做数据转换时,最好包含以下头文件

    • #include <iostream>
    • #include <cmath>
    • #include <string> 
    • #include <sstream>
    • USING_NS_CC;
    • using namespace std;
    在cocos2d-x中,也有一个格式刷:__String(数据转换常常找她做中间人),那么我们要转换类型,可先将起始数据类型刷成__String然后再转成目的数据类型,这个方法比较方便且实用。
     
    复制代码
    //int 转 CCstring
    
    int num=5;
     CCString* ns=CCString::createWithFormat("%d",num);
     
     //CCstring 转 int
    int px = ns->intValue();//将CCString 转换为int的方法,转成float类型有 floatValue()
    //======================================
     
    //CCString 转    char
    const char *string= ns->getCString();
     
    //char 转    CCString
    CString.Format(”%s”,char *)//char 转cstring 
     CCString* ns=CCString::createWithFormat("%s",char *);
    //======================================
     
    //string 转  char
    const char *string=std::string("STRING").c_str();
    char 转 string
    string s(char *);
    //======================================
     
    //string  转 int
    std::string s("1234");
    int n = std::atoi(s.c_str());//函数原型int atoi(const char *);
     
    //int 转 string
    int a=3;
    
    CCString* ns=CCString::createWithFormat("%d",a);
    
    string s=ns->m_sString;
    
    //======================================
    
    //string 转 CCString
    std::string str = "123";
    
    CCString* ns=CCString::createWithFormat("%s",str.c_str());
    
    CCString 转 string
    
    std::string s= ns->m_sString;//ns是一个CCString*类型
    
    //======================================
    
    //char 转  int
    
     char *buf = "1122";
    
     int n = std::atoi(buf);
    
    //int 转 char
    
    int a=3;
    
    CCString* ns=CCString::createWithFormat("%d",a);
    
    const char* s=ns->getCString();
     
  • 相关阅读:
    Python_Tips[3] -> sort/sorted 排序函数
    Python_Tips[2] -> 函数延后估值及字节码分析
    Python_Tips[1] -> 利用 Python 的字典实现 Switch 功能
    Python_Tips[0] -> 关于 import
    Python与数据库[2] -> 关系对象映射/ORM[4] -> sqlalchemy 的显式 ORM 访问方式
    Python与数据库[2] -> 关系对象映射/ORM[3] -> sqlalchemy 的声明层 ORM 访问方式
    Python与数据库[2] -> 关系对象映射/ORM[2] -> 建立声明层表对象的两种方式
    JS实现网页选取截屏 保存+打印 功能(转)
    nodejs+koa2 实现一个get请求
    windwos下安装使用nginx(转)
  • 原文地址:https://www.cnblogs.com/dudu580231/p/5647572.html
Copyright © 2011-2022 走看看