C++ C++;从字符串生成特定字符

C++ C++;从字符串生成特定字符,c++,string,multidimensional-array,char,C++,String,Multidimensional Array,Char,我不知道怎么称呼它,我想它是多维字符串。 我的问题是: 我有这个: string serialnumber = "123456"; 我想用代码做这个 char tmp6[] = { '1','2','3','4','5','6', 0 }; //为字符串s赋值 字符串s=“geeksforgeks” 但为什么?您可能只需要serialnumber.c_str()=>这回答了你的问题吗?不合法的C++,即使是极客网站上的极客网站。在C++数组中,边界必须是编译时常数,但是在代码 N< /代码>

我不知道怎么称呼它,我想它是多维字符串。 我的问题是: 我有这个:

string serialnumber = "123456";
我想用代码做这个

char tmp6[] = { '1','2','3','4','5','6', 0 };

//为字符串s赋值 字符串s=“geeksforgeks”


但为什么?您可能只需要
serialnumber.c_str()
=>这回答了你的问题吗?不合法的C++,即使是极客网站上的极客网站。在C++数组中,边界必须是编译时常数,但是在代码<代码> N< /代码>中是变量。不是每个编译器都会吃
char_数组[n+1]这是非标准的。而且根本不需要复制任何东西
s.c_str()
返回所需的c样式字符串。这个链接怎么样?我能想到的最简单的方法是:string temp=“cat”;char-tab2[1024];strcpy(表2,温度c_str());为了安全起见,您可能更喜欢:string temp=“cat”;char-tab2[1024];strncpy(tab2,temp.c_str(),sizeof(tab2));tab2[sizeof(tab2)-1]=0;或者可以采用这种方式:string temp=“cat”;char*tab2=新字符[temp.length()+1];strcpy(表2,温度c_str());我提出这个问题是重复的
int n = s.length(); 

// declaring character array 
char char_array[n + 1]; 

// copying the contents of the 
// string to char array 
strcpy(char_array, s.c_str());