c++将带有前导零的Int保存到String,而不显示它们

标签 c++ string int leading-zero

我可以格式化 Int 以显示带前导零的数字,但我不知道如何将带零的 Int 保存到 字符串.

原因:正在加载以 "..0001""..0002"... "..0059" 等结尾的图像文件

我有这个,但它不起作用:

int a;
for(int i = 1; i < imgArraySize + 1; i++)
{
    cout << setw(4) << setfill('0') << i << '\n';
    cin >> a;
    string aValue = to_string(a);

    imageNames.push_back(string("test_images" + aValue + ".jpg"));
}

最佳答案

您可以使用 stringstream 应用相同的格式

std::ostringstream ss;
ss << std::setw(4) << std::setfill('0') << a;
std::string str = ss.str();
std::cout << str;

Live example

关于c++将带有前导零的Int保存到String,而不显示它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26486419/

相关文章:

java - 从文件读入数组列表,然后将数组列表分成多个字符串,以便我可以单独解析它们

c++ - boost 原子类使初始化值不同于成员初始化列表

C++ Allegro 5 - 找不到访问冲突的来源

Java 格式化以获取最后计数

javascript - 在 javascript 中,空字符串作为 boolean 值总是 false 吗?

sql - VBA Excel错误将nvarchar值转换为int

int - 如何在 protobuf 结构中使用整数?

c++ - C++中的 float 到整数的转换

c++ - 具有堆对象和销毁冲突的数据类型的浅拷贝

c++ - 链式 typedef : Perf. 问题?