c++ - 如何使用 string.substr() 函数?

标签 c++ string substring

我想编写一个程序,以字符串格式读取一些数字并像这样输出:如果数字是 12345,那么它应该输出 12 23 34 45 。我尝试使用 c++ 字符串库中的 substr() 函数,但它给了我奇怪的结果——它输出 1 23 345 45 而不是预期的结果。为什么?

#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
int main(void)
{
    string a;
    cin >> a;
    string b;
    int c;

    for(int i=0;i<a.size()-1;++i)
    {
        b = a.substr(i,i+1);
        c = atoi(b.c_str());
        cout << c << " ";
    }
    cout << endl;
    return 0;
}

最佳答案

如果我是正确的,substr() 的第二个参数应该是子串的长度。怎么样

b = a.substr(i,2);

?

关于c++ - 如何使用 string.substr() 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2477850/

相关文章:

c++ - 如何在 VBScript 中使用 BSTR 参数调用 C++ COM 函数

PHP - 按第一个字母对行进行分组

perl - 如何在 IMAP 邮件主题中搜索非 ASCII 文本

javascript - 在 React 中传递 Props 并将其子串到另一个组件中

c++ - 安装后段错误

c++ - boost 隐式图和 astar_search_no_init

C++ 构造要求一个未在 .h 中定义的结构

基于 C++ 策略的设计

javascript - 为什么一串数字的工作方式与新日期中的实际数字不同?

C Tokenizer(当字段丢失时它也会返回空。耶!)