c 语言字符串转数组,如何在C ++中将字符串转换为char数组?

我想转换string为chararray但不能char*。我知道如何将字符串转换为char*(通过使用malloc或在代码中发布的方式)-但这不是我想要的。我只是想转换string为char[size]数组。可能吗?

#include

#include

#include

using namespace std;

int main()

{

// char to string

char tab[4];

tab[0] = 'c';

tab[1] = 'a';

tab[2] = 't';

tab[3] = '\0';

string tmp(tab);

cout << tmp << "\n";

// string to char* - but thats not what I want

char *c = const_cast(tmp.c_str());

cout << c << "\n";

//string to char

char tab2[1024];

// ?

return 0;

}