C++ 用用户输入的字符串填充字符数组
该代码反转字符数组。例如,如果我写: 字符str[]=“反向”; 它将在控制台中返回“esreveR”,现在我想知道,是否以及如何用字符串填充它 我尝试的是:char str[]=userInput;(但它不起作用……)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* 不必讨论如何更改它以获得更好的代码,而是将字符
#包括
#包括
使用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());