C++ 用用户输入的字符串填充字符数组

C++ 用用户输入的字符串填充字符数组,c++,arrays,string,char,C++,Arrays,String,Char,该代码反转字符数组。例如,如果我写: 字符str[]=“反向”; 它将在控制台中返回“esreveR”,现在我想知道,是否以及如何用字符串填充它 我尝试的是:char str[]=userInput;(但它不起作用……) #包括 #包括 使用std::cout; 使用std::endl; void reverse(char*target)//要求指定此参数 { cout在代码中,userInput是一个std::string,函数需要一个char* 不必讨论如何更改它以获得更好的代码,而是将字符

该代码反转字符数组。例如,如果我写: 字符str[]=“反向”; 它将在控制台中返回“esreveR”,现在我想知道,是否以及如何用字符串填充它

我尝试的是:char str[]=userInput;(但它不起作用……)

#包括
#包括
使用std::cout;
使用std::endl;
void reverse(char*target)//要求指定此参数
{

cout在代码中,
userInput
是一个
std::string
,函数需要一个
char*

不必讨论如何更改它以获得更好的代码,而是将字符串获取为
char*

char *str = new char[userInput.length() + 1];
strcpy(str, userInput.c_str());

最后不要忘了删除str;

事实上,有几个地方可以回答这个问题。请查看:
char *str = new char[userInput.length() + 1];
strcpy(str, userInput.c_str());