问题:上次的问题还遇到了string类型和char *的转化的问题:
回答:
因为string类型的变量 有一个方法c_str()可以直接的到const char *,所以如果想得到const char *就可以直接用这个方法了,举例如:
string str1="eh1.txt";
const char *temp=str1.c_str();
printf("%s/n",temp);
但是如果要得到char *怎么办?这个时候可以用着用方式:
#include <string>
#include <stdlib.h>
#include <stdio.h>
using namespace std ;
void main()
{
string str1="eh1.txt";
char *buf=new char[str1.length()+1];
if(buf)
strcpy(buf,str1.c_str());
printf("%s/n",buf);
}
可以先获取字符串的长度,然后应用strcpy()来获得这种方法是比较实用的。
本文介绍了在C++中如何将string类型转换为char*类型,包括使用c_str()方法获取const char*,以及通过new分配内存并使用strcpy复制的方式获取char*。
3978

被折叠的 条评论
为什么被折叠?



