c++中怎么把string类型传入char*类型的函数参数中

2025-02-27 09:03:21
推荐回答(5个)
回答1:

string str;
对于函数fun(char *,xx,.....)
使用fun(str.c_str(),xx,....)可把string类型传入char*类型的函数参数中。
string是C++编程语言中的字符串。 string类是不可变的,对string类的任何改变,都是返回一个新的string类对象,而char *是C语言中的字符指针,两者进行相应的转换,即可进行专递。

回答2:

上面的都做出来了我就不做了,就分析下你错的地方: C:\\Documents and (max); 解释:函数返回值类型要更定义类型一样。max为char ** 类型,定义

回答3:

proc(str.c_str() , ..);

回答4:

char *p = string.c_str();

回答5:

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