type conversion-c++将int转换为char+将前导零添加到char
type conversion - c++ converting int to char + add leading zeros to char
我得到了从0到999的数字。如何实现以下
int i = 123;//possible values 0-999
char i_char[3] = /*do conversion of int i to char and add 3 leading zeros*/
示例:对于i=1
,i_char
应类似于"001"
,对于i=11
,"011"
或对于i=101
,"101"
将std::ostringstream
与std::setfill()
和std::setw()
一起使用,例如:
#include <string>
#include <sstream>
#include <iomanip>
int i = ...;
std::ostringstream oss;
oss << std::setfill('0') << std::setw(3) << i;
std::string s = oss.str();
您似乎在寻找sprintf,或者printf。
int i = 123;
char str[10];
sprintf(str, "%03d", i);
因为您用c++
标记了这个问题,所以这里有一个使用std::string
和std::to_string
的快速解决方案:
#include <iostream>
#include <string>
int main() {
int i = 1;
std::string s = std::to_string(i);
if ( s.size() < 3 )
s = std::string(3 - s.size(), '0') + s;
std::cout << s << std::endl;
return 0;
}
对于i=1
,它将输出:001
。
相关文章:
- 在 char* 数组中添加两个索引
- 以这种方式初始化的 char 数组是否会自动添加空终止符?
- 在 c++ 中将 Char 数组添加到 Char * 变量
- 将文件名从目录添加到 char* 数组. C++
- 将上一行添加到 char* 数组中的 char* 常量
- 尝试将 char* 添加到 int 时触发编译器错误
- 超载 运算符添加const char
- 将 char* 推送到矢量时出现问题,但在每次迭代后,它会将指向相同值缓冲区的指针添加到矢量中
- C++添加到包含 char[] 作为参数的链表中
- 如何添加 char 数组(并使它们变为整数)
- 编译器将随机字符添加到我的 char 数组中
- 为什么通过添加字符串文字和char初始化时,为什么不打印字符串
- 将char添加到字符串中并删除char数组
- 未签名的char *添加了int?这做了什么
- c ++ 我的 char* 数组被最后一个添加的元素覆盖
- 为什么编译器不抱怨将字符添加到 char*?
- 如何在C 中直接添加Char
- 在c++中为char*添加char前缀的最佳方法
- 在c++中向字符串中添加char会导致崩溃
- c++转换/添加char到string