在做数据转换时,最好包含以下头文件
- #include <iostream>
- #include<cmath>
- <string>
- <sstream>
- USING_NS_CC;
- using namespacestd;
在2d-x中,也有一个格式刷:CCString(数据转换常常找她做中间人)
那么我们要转换类型,
可先将起始数据类型刷成CCString然后再转成目的数据类型,
int 转 CCstring
int num=5;
CCString* ns=
CCString::
createWithFormat(
"%d",num);
CCstring
转
int
intpx = 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
constchar*string=std
::
string
("STRING"
).
c_str
();
char转 string
string s(char *);
string 转 int
std::string s("1234");
int n = std::atoi(s.c_
str());
//函数原型
intatoi(const char*);
int 转 string
inta=3;
CCString* ns=CCString::createWithFormat("%d",a);
strings=ns->m_sstring;
======================================
string转 CCString
std::string str = "123";
CCString* ns=CCString::createWithFormat("%s",str.c_str());
CCString转 string
std::strings= ns->m_sstring;//ns是一个CCString*类型
======================================
char 转 int
char*buf ="1122";
intn =std::atoi(buf);
int 转 char
inta=3;
CCString* ns=CCString::createWithFormat("%d",a);
constchar* s=ns->getCString();
这里额外提一下,IOS在参与跨平台用到的编码格式转换
const char*char_url; const char*char_parameter;
格式刷:
Nsstring *endstr=[Nsstring stringWithFormat:@"%@?%@",char_url,char_parameter];
转换编码格式为utf-8
endstr=[endstr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];//解决中文编码
Nsstring 转 char*
const char *char_gurl = [endstr cStringUsingEncoding:NSUTF8StringEncoding];
char* 转 Nsstring
const char* gameObject;
Nsstring *char_gameObject = [[Nsstring alloc] initWithCString:(const char*)gameObject
encoding:NSUTF8StringEncoding];
char* 转 URL
const char* url;
Nsstring *char_url = [[Nsstring alloc] initWithCString:(const char*)url
encoding:NSUTF8StringEncoding];
NSURL* url=[NSURL URLWithString:char_url];
//Nsstring转char * /const char *
Nsstring* strPath = [NsstringstringWithUTF8String:filename];
constchar* filePathChar = [filePathUTF8String];