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