Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C语言中,如何将整数转换为带前导零的字符串?_C - Fatal编程技术网

在C语言中,如何将整数转换为带前导零的字符串?

在C语言中,如何将整数转换为带前导零的字符串?,c,C,如果整数只有一个数字,如何将C中的整数转换为字符串,并包含前导零结果需要打印到LCD显示屏,而不需要打印到控制台 #include <stdio.h> #include <stdlib.h> int main () { int i = 7; char buffer[10]; itoa(buffer, i, 10); printf ("decimal: %s\n",buffer); return 0; } #包

如果整数只有一个数字,如何将C中的
整数
转换为
字符串
,并包含前导零结果需要打印到LCD显示屏,而不需要打印到控制台

#include <stdio.h>
#include <stdlib.h>

int main ()
{
    int i = 7;
    char buffer[10];
    itoa(buffer, i, 10);
    printf ("decimal: %s\n",buffer);
    return 0;
}
#包括
#包括
int main()
{
int i=7;
字符缓冲区[10];
itoa(缓冲液,i,10);
printf(“十进制:%s\n”,缓冲区);
返回0;
}
此代码将打印
7
,但我需要它是
07

但是大于10的数字,例如:
77
应该保持不变。

您可以使用
sprintf
函数和格式说明符
%02d
强制包含前导零:

#包括
#包括
int main()
{
int i=7;
字符缓冲区[10];
//itoa(缓冲液,i,10);
sprintf(缓冲区,“%02d”,i);
printf(“十进制:%s\n”,缓冲区);
返回0;
}

您可以使用
sprintf
函数和
%02d
格式说明符来强制包含前导零,而不是
itoa

#包括
#包括
int main()
{
int i=7;
字符缓冲区[10];
//itoa(缓冲液,i,10);
sprintf(缓冲区,“%02d”,i);
printf(“十进制:%s\n”,缓冲区);
返回0;
}

您需要添加一个条件if语句,该语句检测被解析的整数是否小于“10”,并且大于0,我假设。这是否回答了您的问题@kaylum他问的是字符串,不是整数转换。参考文章使用
printf
打印到标准输出。如果要将其用作缓冲区,请使用
snprintf
,但格式字符串相同。使用
sprintf
snprintf
无需打印到任何输出设备。它写入与您在
itoa
调用中使用的字符串相同的字符串。您需要添加一个条件if语句,该语句检测正在解析的整数是否小于“10”,并且大于0,我假定。这是否回答了您的问题@kaylum他问的是字符串,不是整数转换。参考文章使用
printf
打印到标准输出。如果要将其用作缓冲区,请使用
snprintf
,但格式字符串相同。使用
sprintf
snprintf
无需打印到任何输出设备。它写入与您在
itoa
调用中使用的相同字符串。