C++数据类型转换


#include "stdafx.h"
#include "stdio.h"
#include "afx.h"
#include <string.h>
#include<iostream>
using namespace std;

//CString转char *
//char * 转CString
void type_CStringtochar()
{
	CString str = "abcdef";
	CString sp = "s";
	char *p = (LPSTR)(LPCTSTR)str; //CString转char *
	char *p1 = "sss";
	sp.Format("%s",p);
	int i = 2;
		printf("%s\n",p);
		cout << p << endl;

		string a = p;
		string a2="123";
		

		char m[100];
		strncpy(m, (LPCTSTR)str, sizeof(m));


		/*(1)将字符转换为整数,可以使用atoi、_atoi64或atol。
		(2)将数字转换为CString变量,可以使用CString的Format函数。
		*/
		int t = 10;
		CString t1 = "2";
		t1.Format("%d", t);
		t = atoi(t1);
}


//string转CString
//CString 转string 
void type_stringtoCSstring()
{
	//string转CString
	CString cstr = "abcaefg";
	string  s=cstr.GetBuffer();
	printf("%s\n",s.c_str());
	cstr.ReleaseBuffer();

	//CString 转string 
	string str = "abc123";
	cstr.Format("%s", str.c_str());
	printf("%s\n",cstr);

}

/*
《C++标准函数库》中说的
有三个函数可以将字符串的内容转换为字符数组和C―string
1、data(), 返回没有” / 0“的字符串数组
2、c_str(),返回有” / 0“的字符串数组
3、copy()
*/
int main()
{
	type_CStringtochar();
	type_stringtoCSstring();
    return 0;
}

  

posted @ 2020-08-13 16:57  不忘初心,追随梦想  阅读(194)  评论(0编辑  收藏  举报