我有以下代码:
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;
答案 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;
}