将数字插入字符串

Sum*_*mit -2 c++ c++11 c++14

我有以下字符串

std::string str = "000000"
Run Code Online (Sandbox Code Playgroud)

我想从 0 到 200 运行一个循环并在字符串中插入数字。

for( int i = 0 ; i < 200; i++ )
{
    // insert number
}
Run Code Online (Sandbox Code Playgroud)

如果i = 1,则字符串应为“000001”。

如果i = 200,则字符串应为“000200”。

目前我正在将我的数字转换为字符串,然后检查它们的长度。基于此,我将数字插入字符串 iflen = 1然后替换字符串的最后一个字符。

只是想知道我是否可以对此有更完善的方法。

Nut*_*ker 5

您应该阅读std::stringstream

以下将起作用:

#include <string>
#include <iostream>
#include <sstream>
#include <iomanip>

int main() {
    for (int i = 0 ; i <= 200; i++ ) {
        std::stringstream ss;
        ss << std::setw(6) << std::setfill('0') << i;
        std::cout << ss.str() << std::endl;
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

检查直播