常用常见数据格式的转换

本片文章主要记录以下内容:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值