C/C++格式化输入与输出(位宽,左右对齐,%d,%f等)总结

简介: C/C++格式化输入与输出(位宽,左右对齐,%d,%f等)总结

C语言的格式化输入与输出

输入

  • scanf()格式字符:
  • %c,输入一个字符(包括空白字符)
  • %s,输入字符串(碰到空白字符停止)
  • %d,输入十进制int型数
  • %f、%e,输入float型数
  • %u,输入无符号int型数
  • scanf()格式修饰符
  • m:输入数据的位宽
    eg:%*(m)d 代表跳过m个字符; %(m) 代表自宽,即读取x个字符
#include<stdio.h>
int main()
{
  int a,b;
  scanf("%*c%2d%*2d%3d",&a,&b); //%*C表示忽略一个字符 
  printf("a=%d,b=%d\n",a,b);
  return 0;
}
  • l:%ld,%lu,表示输入long型;%lf,%le,表示输入double型
  • L:%Lf,%Le,表示输入long double型
  • h:%hd,表示输入short型
  • ll,%lld,表示输入long long型

输出

  • %d,%ld,%lld,%hd分表表示输出int,long,long long,short型
  • %u,%lu,%llu,%hu分表表示输出无符号int,long,long long,short型
  • %o,表示以八进制无符号整型输出,在百分号前加#可输出前缀
  • %0x,表示以十六进制无符号整型输出,在百分号前加#可输出前缀
  • %f,表示以小数形式(6位小数)输出float,double型
  • %e,表示以标准指数形式输出float,double型
#include<stdio.h>
int main()
{
  float a=1234.144;
  float b=0.000124414;
  float c=-23434.1;
  printf("a=%e\nb=%e\nc=%e",a,b,c);
  return 0;
}

控制输出的左右对齐与位宽

  • 输出整数:eg:%12d,即每一位输出的都有12位,且向右对齐,位数不够向前补空格。%-12d,即每一位输出的都有12位,且向左对齐,位数不够向后补空格。
  • 输出小数:eg:%7.2f,其中7指的是最后输出总的占位符为7位,小数点也占一位,右对齐;其中2指的是保留最后的2位小数(遵循四舍五入原则)
#include<stdio.h>
int main()
{
  int a=123;
  double b=123.3535;
  printf("a=%6d\na=%-6d\n",a,a);
  printf("b=%12.1f\nb=%-12.1f",b,b);
  return 0;
}


相关文章
|
6月前
|
自然语言处理 安全 C++
【C++ 格式化输出 】C++20 现代C++格式化:拥抱std--format简化你的代码
【C++ 格式化输出 】C++20 现代C++格式化:拥抱std--format简化你的代码
3943 1
|
6月前
|
算法 编译器 C++
【C++ 格式化输出 】C++ 高级输出格式化:掌握 iostream 与 iomanip
【C++ 格式化输出 】C++ 高级输出格式化:掌握 iostream 与 iomanip
413 1
|
12月前
|
测试技术 C语言 C++
C++常用格式化输出转换
C++常用格式化输出转换
75 0
|
6月前
|
Linux C++
vscode 如何修改c/c++格式化风格,大括号不换行
vscode 如何修改c/c++格式化风格,大括号不换行
|
iOS开发 C++
C++格式化输出
C++格式化输出
48 0
|
C语言 iOS开发 C++
C++ 的cout格式化输出
在某些实际场景中,我们经常需要按照一定的格式输出数据,比如输出浮点数时保留 2 位小数,再比如以十六进制的形式输出整数,等等。 对于学过 C 语言的读者应该知道,当使用 printf() 函数输出数据时,可以通过设定一些合理的格式控制符,来达到以指定格式输出数据的目的。例如 %.2f 表示输出浮点数时保留 2 位小数,%#X 表示以十六进制、带 0X 前缀的方式输出整数。 关于 printf() 函数支持的格式控制符,更详细的讲解,可阅读《C语言数据输出大汇总》一节,这里不做详细赘述。 C++ 通常使用 cout 输出数据,和 printf() 函数相比,cout 实现格式化输出数据的方
129 0
|
安全 C++ 数据格式
C++ 字符串格式化转为 数据变量 - sscanf,sscanf_s及其相关用法
C++ 字符串格式化转为 数据变量 - sscanf,sscanf_s及其相关用法
227 0
|
Unix C语言 iOS开发
C++cin,cout以及常见函数总结,cin,cout格式化控制
C++cin,cout以及常见函数总结,cin,cout格式化控制
C++cin,cout以及常见函数总结,cin,cout格式化控制
[VC++]用CTime类得到当前日期、时间、星期,格式化(详细讲解)
用CTime类得到当前日期、时间、星期,格式化(详细讲解)2009/05/12 09:48 A.M.① 定义一个CTime类对象 CTime time; ② 得到当前时间 time = CTime::GetCurrentTime(); ③ GetYear( ),GetMonth( ), GetD...
1592 0