string str;
对于函数fun(char *,xx,.....)
使用fun(str.c_str(),xx,....)可把string类型传入char*类型的函数参数中。
string是C++编程语言中的字符串。 string类是不可变的,对string类的任何改变,都是返回一个新的string类对象,而char *是C语言中的字符指针,两者进行相应的转换,即可进行专递。
上面的都做出来了我就不做了,就分析下你错的地方: C:\\Documents and (max); 解释:函数返回值类型要更定义类型一样。max为char ** 类型,定义
proc(str.c_str() , ..);
char *p = string.c_str();
1、string 转 CString
CString.format("%s", string.c_str());
2、char * 转 CString
CString.format("%s", char*);
3、char * 转 string
string s(char *);
4、string 转 char *
char *p = string.c_str();
5、CString 转 string
string s(CString.GetBuffer(CString.GetLength()));
6、CString 转 char *
charpoint=strtest.GetBuffer(strtest.GetLength());
不建议用(LPCTSTR)进行强制类型转化,这样strtest大小发生变化时会出现错误。
7、CString 转 char[100]
char a[100];
CString str("aaaaaa");
strncpy(a,(LPCTSTR)str,sizeof(a));