我是 C++ 的新手,我遇到了一个问题...我似乎无法使用 for 循环从字符串创建字符数组。例如,在 JavaScript 中你会这样写:
var arr = [];
function setString(s) {
for(var i = s.length - 1; i >= 0; i--) {
arr.push(s[i]);
}
return arr.join("");
}
setString("Hello World!"); //Returns !dlroW olleH
我知道它有点复杂,我确实有一些关于如何做的背景知识,但它的语法对我来说仍然不太熟悉。
有什么方法可以在 C++ 中使用数组来做到这一点吗? 我可以像在 JavaScript 中那样将数组元素连接成一个字符串吗?
如能提供帮助,将不胜感激。提前致谢。 如果有人需要更多信息,请告诉我,我会编辑帖子。
顺便说一句,目前我的 C++ 代码真的很乱,但我知道我在做什么......我试过的是:
function setString(s) {
string arr[s.size() - 1];
for(int i = s.size() - 1; i >= 0; i--) {
arr[i] = s.at(i); //This is where I get stuck at...
//I don't know if I'm doing something wrong or not.
}
}
如果有人告诉我我做错了什么或者我需要从代码中放入或取出什么,那就太好了。这是一个用 Code::Blocks 编译的控制台应用程序
最佳答案
std::string
有 c_str()
返回 C 样式字符串的方法,它只是一个字符数组。
例子:
std::string myString = "Hello, World!";
const char *characters = myString.c_str();
关于c++ - 从字符串创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19596441/