gpt4 book ai didi

c++ - 在 C++ 中将 int 转换为具有 2 位数字的字符串

转载 作者:太空宇宙 更新时间:2023-11-04 16:12:25 25 4
gpt4 key购买 nike

我在 C++ 中有以下代码,它应该采用 led_pwm 十六进制变量,并将其转换为字符串 led_pwm_string

long int led_pwm=0x0a;

std::ostringstream ostr;
ostr << std::hex << led_pwm; //use the string stream just like cout,
//except the stream prints not to stdout
//but to a string.

std::string led_pwm_string = ostr.str(); //the str() function of the stream
//returns the string

我对这段代码的唯一问题是,对于 0x000x0a 之间的任何 led_pwm 值,它都会转换为单个led_pwm_string 中的数字。这会在以后给我带来麻烦。

我希望,在所有可能的情况下,led_pwm_string 始终包含一个 2 位数字的字符串。因此,如果 led_pwm0x01(例如),那么 led_pwm_string 将是 01,而不仅仅是 1

最佳答案

尝试:

ostr << std::hex << std::setw(2) << std::setfill('0') << led_pwm;

您可能需要 #include <iomanip> .

关于c++ - 在 C++ 中将 int 转换为具有 2 位数字的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26983906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com