c/c++中的一些比较实用的类型转换方式总结(仅供参考)

电脑操作系统:win7 64位  使用的是多字节字符集

string 、 String 以及 CString 的区别?

string 是c++标准C++扩充字符串操作的一个类,大小为28个字节;String 是opencv 中的类,大小为8个字节;CString 是 MFC中的类,大小为4个字节。

一些数据类型之间的转换方法:

#include <iostream>
#include <opencv2/opencv.hpp>
#include <afxwin.h>
#include<sstream>

using namespace std;
using namespace cv;

int main()
{
	//定义测试变量
	CString Cstr = "11111";
	String Str = "22222";
	string str = "33333" ;
	char temp[6] = "55555";
	char *Ptemp = "6666";
	//类型转换
	//Cstr = str.c_str();//string -> CString
	//str = Cstr;//CString -> string

	//Str = Cstr;//CString -> String
	//Cstr = Str.c_str();

	//str = Str; //String -> string
	//Str = str;//string -> String

	//strcpy_s(temp, Cstr);//CString -> char[N]
	//Cstr.Format("%s", temp);//char[N] -> CString

	//Ptemp = Cstr.GetBuffer(Cstr.GetLength());//CString -> char*
	//Cstr.ReleaseBuffer();
	//Cstr.Format("%s", Ptemp);//char* -> CString

	/*  数据类型与字符串类型之间的转换 需包含头文件 sstream*/
	stringstream tempbuf;
	//int n = 222;  //int -> string 
	//tempbuf << n;
	//tempbuf >> str;

	//int n ; //string -> int
	//tempbuf << str;
	//tempbuf >> n;
	//tempbuf.clear();
	//tempbuf << "11111";
	//tempbuf >> n;


	system("pause");
	return 0;
}

 

上一篇:转载:C++中string、char *、char[]的转换


下一篇:C++中,get getline gets 用法