您的位置:首页 > 编程语言 > C语言/C++

常用常见数据格式的转换

2013-09-06 13:00 218 查看
本片文章主要记录以下内容:

1 算术类型转化为相应的string表示形式

2 数值型数据的字符表示形式转化为相应的算术值

3 算术类型转化为相应的CString表示形式

4 string类型与char*的相互转换

5  string类型与CString类型的相互转换

6  char*与CString数据类型的相互转换

具体如下:

1算术类型转化为相应的string表示形式

1)方法1

float in2=12.3;
stringstream sstr1;//用ostringstream也是可以的
sstr1<<"转换的数字是:"<<in2<<endl;//将算术类型转换为相应的string表示形式
string str=sstr1.str()//获得流的string表示形式
cout<<str<<endl; 2)方法2
sprintf函数

3)方法3

itoa等函数

2 数值型数据的字符表示形式转化为相应的算术值

1)方法1

string str1="123";
stringstream sstr(str1); //用istringstream
int in1;
sstr>>in1;//读取istringstream对象自动地将数值型数据的字符表示形式转换为相应的算术值
cout<<in1<<endl;
2)方法2
atoi,atol,atof等

3 算术类型转化为相应的CString表示形式

1) 方法1

int i=123;
CString str;
str.format("%d",i);//int->CString 其他的基本类型转化类似

4 string类型与char*的相互转换

a)char*转化为string类型

string s1(p1);
//cout<<"s1的值是:"<<s1<<endl;*/

b)string类型转化为char*(要注意的是char*最后一个字符是\0)

string
s2("hello");
1)方法1

char*
p1=(char*)s2.data();//方法一,需要收到将const
char*转换为char*

2)方法2

char*
p2=(char*)s2.c_str();

3)方法3

int len_s=s2.length();
char p[5];
s2.copy(p,len_s,0);
*(p+len_s)='\0';
cout<<p1<<endl<<p2<<endl<<p<<endl;
cout<<"p2的值是:"<<p2<<endl;
5  string类型与CString类型的相互转换

a)string转换为CString

1)方法1

CString cs2;
cs2.Format("%s",s2.c_str());
cout<<"cs2的值是:"<<cs2<<endl;

b) CString转换成string类型

1)方法1

CString
cstring1("cstring1");
string
s=cstring1.GetBuffer(cstring1.GetLength()));
6
 char*与CString数据类型的相互转换


a)char*
转化成CString

1)方法1

char*
p1="p1";
CString
cs1(p1);
cout<<"cs1的值是:"<<cs1<<endl;

2)方法2

CString
cs2;
cs2.Format("%s",p1);?/此处设置如下:项目->属性->配置属性->常规->字符集(改为多字符集)
cout<<"cs2的值是:"<<cs2<<endl;

b)CString转化成char*

1)方法1

char*
p=cstring1.GetBuffer(cstring1.GetLength());
cout<<s<<endl<<p<<endl;
附:

1)c_str()使用说明

http://baike.baidu.com/link?url=WfF18g8dP6QVe84aQN1QYMpXfQpCJF70nbl-jO8dBBjJEH4LyqKsgsjTUKviGKcwReGuKBGaYGAu9aNp0JuuW
2)fgets()的使用方式
http://baike.baidu.com/link?url=GCD9K1_PLJu_cvK1wv8jT0TVCHp81Ou6RQkLStRZQT2oe8mvkI_tVgKksUhAwZ5d

3) LPTSTR、LPCSTR、LPCTSTR、LPSTR的意义

http://blog.csdn.net/douzixinxin/article/details/869937

Reference:

1)http://blog.sina.com.cn/s/blog_486285690100lhmf.html

2)http://blog.csdn.net/candadition/article/details/7342380

3)http://blog.csdn.net/wingofeagle/article/details/9326429

4)http://blog.csdn.net/wingofeagle/article/details/9326429
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++