打印编号为字符串类型中的编号

时间:2015-09-20 20:08:20

标签: c++ string

我有以下代码:

string a =  "wwwwaaadexxxxxx";

预期输出:“w4a3d1e1x6”;

我的代码中的某处int count = 1; ... count++;

此外,在我的代码中的某处,我必须将此计数打印为a[i],但仅作为数字打印..如1,2,3而不是等同于1,2,3的字符。

我正在尝试以下方法:printf("%c%d",a[i],count);

我还读过类似的内容:

stringstream ss;
ss << 100 

在CPP中这样做的正确方法是什么?

编辑:

所以我修改了代码,在索引i中添加一个数字作为字符串:

        stringstream newSS;
        newSS <<  count;

            char t = newSS.str().at(0);

            a[i]  = t;

1 个答案:

答案 0 :(得分:-1)

没有&#34;正确&#34;办法。您可以使用snprintf,stringstream等。或者您可以滚动算法。假设这是一个基数为10的数字,您需要基数为10的数字。

#include <iostream>
#include <string>
#include <algorithm>

int main(void)
{
    int a = 1194;
    int rem = 0;
    std::string output;

    do {
        rem = a % 10;
        a = a / 10;
        output.append(1, rem + '0');
    } while(a != 0);

    std::reverse(output.begin(), output.end());
    std::cout << output << std::endl;

    return 0;
}