用itoa函数将十进制数用二进制形式输出的时候怎么控制输出位数

我想统一输出位数为3位。比如,将1转化为二进制时我想输出的是001.

输出格式可以使用printf来控制 try

 printf('%03d',1);

结果:
001

itoa不能指定对齐格式,sprintf可以指令,因此先用itoa转化成二进制字符串,再使用sprintf指定输出为3位。

 void int2binary(int num, char *binary)
{
    char temp[4];
    _itoa(num, temp, 2);
    sprintf(binary, "%03s", temp);
}


int main()
{
    char binary[4];

    int2binary(3, binary);

    return 0;
}

结果:
011