方法一
#include <iostream>
#include <string>
using namespace std;
int main()
{
string name_str("chaoying");
int n=name_str.length();
// 方法一
// gcc编译器允许传入变量定义动态数组
// g++编译器不允许传入变量定义动态数组
// 因此只能从堆内存中动态分配内存空间,也可以直接用vector容器
// delete [] arr释放堆内存中的数组
char name_chr[n];
char * name_chr=new char[n];
for(int i=0;i<n;i++)
{
name_chr[i]=name_str[i];
}
for(int i=0;i<n;i++)
{
cout<<name_chr[i];
}
cout <<endl;
system("pause");
return 0;
}
方法二
#include <iostream>
#include <string>
using namespace std;
int main()
{
string name_str("chaoying");
int n=name_str.length();
// 方法二 c_str()函数
const char * name_chr=name_str.c_str();
for(int i=0;i<n;i++)
{
cout<<name_chr[i];
}
cout<<endl;
system("pause");
return 0;
}