C语言入门开发: printf、sprintf补0、补空格占位

简介: C语言入门开发: printf、sprintf补0、补空格占位

一般在处理时间的时候,界面上显示,打印输出这些场景下,左边补0或者补空格占位是很常见的。

补0或者补空格之后,长度是固定的;这样显示更加美观、不会因为数字变短、变长造成闪烁感。

示例代码:

int main()
{
  printf("%d\n",12345);    //正常打印
  printf("%10d\n",12345);  //右对齐.位数不够,左边自动补空格
  printf("%-10d,%c\n", 12345,'A');//左对齐.位数不够,右边自动补空格
  printf("%010d\n",12345);  //右对齐.位数不够,左边自动补0
  //sprintf用法一样.
  return 0;
}
输出结果:
12345
     12345
12345     ,A
0000012345

image.png

在vs2017里使用sprintf需要在属性--C/C++---预处理器---增加(_CRT_SECURE_NO_WARNINGS)

image.png

案例: 将ms时间转为时分秒.  控制位数

std::string MStoString(long nMicroSecond)
{
  int second = nMicroSecond / 1000;
  int hours, mins, secs, minSecs;
  secs = second % 60;
  mins = (second / 60) % 60;
  hours = second / 3600;
  minSecs = nMicroSecond - (hours * 3600 + mins * 60 + secs) * 1000;
  char buff[1024];
  //sprintf数字补0
  sprintf(buff,"%02d:%02d:%02d.%02d", hours, mins, secs, minSecs);
  std::string strTime = buff;
  return strTime;
}
int main()
{
  printf("%s\n", MStoString(50000).c_str());
  return 0;
}

image.png

目录
相关文章
|
18小时前
|
编译器 C语言 C++
从C语言到C++③(第一章_C++入门_下篇)内联函数+auto关键字(C++11)+范围for+nullptr(下)
从C语言到C++③(第一章_C++入门_下篇)内联函数+auto关键字(C++11)+范围for+nullptr
6 0
|
18小时前
|
存储 安全 编译器
从C语言到C++②(第一章_C++入门_中篇)缺省参数+函数重载+引用(下)
从C语言到C++②(第一章_C++入门_中篇)缺省参数+函数重载+引用
4 0
|
18小时前
|
存储 编译器 C语言
从C语言到C++②(第一章_C++入门_中篇)缺省参数+函数重载+引用(中)
从C语言到C++②(第一章_C++入门_中篇)缺省参数+函数重载+引用
4 0
|
18小时前
|
自然语言处理 编译器 C语言
从C语言到C++②(第一章_C++入门_中篇)缺省参数+函数重载+引用(上)
从C语言到C++②(第一章_C++入门_中篇)缺省参数+函数重载+引用
9 0
|
18小时前
|
编译器 C语言 C++
从C语言到C++①(第一章_C++入门_上篇)C++学习介绍(命名空间和C++输入输出流)(下)
从C语言到C++①(第一章_C++入门_上篇)C++学习介绍(命名空间和C++输入输出流)
5 0
|
18小时前
|
Java 编译器 C#
从C语言到C++①(第一章_C++入门_上篇)C++学习介绍(命名空间和C++输入输出流)(上)
从C语言到C++①(第一章_C++入门_上篇)C++学习介绍(命名空间和C++输入输出流)
11 0
|
5天前
|
C语言
C语言——入门分支与循环
C语言——入门分支与循环
4 0
|
1天前
|
存储 编译器 C语言
C语言进阶⑱(文件上篇)(动态通讯录写入文件)(文件指针+IO流+八个输入输出函数)fopen+fclose(下)
C语言进阶⑱(文件上篇)(动态通讯录写入文件)(文件指针+IO流+八个输入输出函数)fopen+fclose
7 0
|
1天前
|
C语言
C语言进阶⑱(文件上篇)(动态通讯录写入文件)(文件指针+IO流+八个输入输出函数)fopen+fclose(中)
C语言进阶⑱(文件上篇)(动态通讯录写入文件)(文件指针+IO流+八个输入输出函数)fopen+fclose
8 0
|
1天前
|
存储 数据库 C语言
C语言进阶⑱(文件上篇)(动态通讯录写入文件)(文件指针+IO流+八个输入输出函数)fopen+fclose(上)
C语言进阶⑱(文件上篇)(动态通讯录写入文件)(文件指针+IO流+八个输入输出函数)fopen+fclose
8 0