【问题标题】:c++ Save Int with leading zeros to String, NOT displaying themc ++将带前导零的Int保存到String,不显示它们
【发布时间】:2014-10-21 12:11:38
【问题描述】:

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

原因:加载以"..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"));
}

【问题讨论】:

标签: c++ string int leading-zero


【解决方案1】:

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

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

Live example

【讨论】:

  • 正要发布相同的内容:/ 只是看到问题太晚了
  • 为什么是std::stringstream 而不是std::ostringstream
猜你喜欢
  • 2014-06-12
  • 1970-01-01
  • 2023-01-18
  • 2010-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-19
相关资源
最近更新 更多