问题:上次的问题还遇到了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()来获得这种方法是比较实用的。