如何生成'连续'的c ++字符串?

Pat*_*ryk 2 c++ string random

我想生成连续的C++字符串,例如在相机中:IMG001,IMG002等能够指示前缀和字符串长度.

我找到了一个解决方案,我可以从具体字符集生成随机字符串:link

但我找不到想要实现的东西.

hmj*_*mjd 8

可能的解决方案:

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

std::string make_string(const std::string& a_prefix,
                        size_t a_suffix,
                        size_t a_max_length)
{
    std::ostringstream result;
    result << a_prefix <<
              std::setfill('0') <<
              std::setw(a_max_length - a_prefix.length()) <<
              a_suffix;
    return result.str();
}

int main()
{
    for (size_t i = 0; i < 100; i++)
    {
        std::cout << make_string("IMG", i, 6) << "\n";
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

请参阅http://ideone.com/HZWmtI上的在线演示.