将整数转换为 C++ 中的定长字符数组

use*_*574 4 c++ arrays int char

我有一个x包含 1-4 位数字的整数。如何将其转换为 4 个字符的数字数组(如有必要,用零填充)?也就是说,如果x4,我希望字符数组y包含0004

Asa*_*saf 6

// Assume x is in the correct range (0 <= x <= 9999)
char target[5];
sprintf(target, "%04d", x);
Run Code Online (Sandbox Code Playgroud)

  • 这*可能*是OP想要的,所以+1,但这实际上并不是OP所要求的。OP 要求的是`char y[4] = {x / 1000, x / 100 % 10, x / 10 % 10, x % 10};`。我认为值得明确指出这种差异,以防万一。 (2认同)