我正在尝试构建某种格式的序列号。该号码将输入数据库。此时我不得不使用sprintf,但我想要一个原生的C ++方法。
以下是示例代码:
int i;
sprintf(buffer, "%03d", i);
整数将为1到3位数。格式需要如下所示:
001,... 013,...... 101,......等。
"序列号"格式为:
AAAAA001,... AAAAA013,...... AAAAA101等
所以问题是,有没有办法做到这一点是C ++原生的,而不必使用iostream操纵器,并且包含在mingw-w64库中。或者它需要像boost库这样的东西吗?
另一种说法:C ++中是否存在C sprintf函数的替换?
根据评论进行编辑:
所以没有什么比......更简单了。
int i;
string buffer;
sprintf(buffer, "%03d", i);
我意识到这不起作用,但无论如何它都给出了这个想法。没有办法直接在字符串类对象上使用sprintf函数的方法进行操作?
答案 0 :(得分:1)
我把aruisdante的答案作为问题的最佳答案,尽管这是我最初发现不受欢迎的流。
我认为你首先必须回答的真正问题是“为什么你不想要>使用sstream”?在没有确定第一个的情况下,它是一个> XY问题,因为sstream肯定会清楚地解决给定的问题,>类型安全且相对有效。 - aruisdante
我对溪流的理解太狭隘了。看起来字符串流应该适用于我的应用程序。
再次感谢。