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; }