我想将string
转换为char
数组,但不是char*
。我知道如何将字符串转换为char*
(通过使用malloc
或我将其发布在我的代码中的方式) - 但这不是我想要的。我只是想将string
转换为char[size]
数组。可能吗?如何将字符串转换为C++中的字符数组?
#include <iostream>
#include <string>
#include <stdio.h>
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<char*>(tmp.c_str());
cout << c << "\n";
//string to char
char tab2[1024];
// ?
return 0;
}
这似乎是C++,不C. –
@FredLarson:OK,编辑,谢谢 –
可能重复的[std :: string到char \ *](http://stackoverflow.com/questions/7352099/stdstring-to-char) – cegprakash