c++ - 从字符串创建数组

标签 c++ arrays string

我是 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::stringc_str()返回 C 样式字符串的方法,它只是一个字符数组。

例子:

std::string myString = "Hello, World!";
const char *characters = myString.c_str();

关于c++ - 从字符串创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19596441/

相关文章:

c++ - 如何在大型机中显示 CFormView?

C++ 将不同的数据类型打包到一个 long 变量中

c++ - 可以通过 move 返回局部变量吗?

python - 计算Python中重复序列的最长出现次数

c - 获取字符串的前 10 个字符?

c++ - 我需要购买 Qt 框架吗?

arrays - MATLAB:循环元胞数组

jQuery 从数组中的每个值创建变量名称

javascript - 如何解决 "has no method ' push'”错误?

java - 根据 HashMap 检查字符串