博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

输出函数-printf族函数

Posted on 2023-03-13 05:59  乔55  阅读(17)  评论(0编辑  收藏  举报

printf

// printf详解
int printf("const char* format,...");

// 输出格式
%m.pX
- m与p,用来控制输出格式
- X,是一个字母,表示以某种方式解释内存空间最
- m:含义是最小字段宽度,即用来控制待显示数值的最少字符个数
  - 若数值的实际字符宽度小于m,则以空格补齐,使其凑够m个字符宽度
  - 若数值实的实际字符宽度大于等于m,则按实际输出即可
  - 默认是右对齐,在m前边加-号可修改为左对齐
- p:含义是精度,而精度的实际含义则依赖于X的含义
- X为d,则将数值的显示的字符个数控制为p个,若不够p个,则用0补,若省略p,则p默认值为1
- X为f,则p表示小数点个位数,默认为6,若p为0,则不显示小数点
printf("%d\n",a);           // 以int形式解读a这片内存空间,并以10进制方式输出
printf("%5d\n",999);		// 默认右对齐,左边补2个空格
printf("%-5d\n",999);		// 设置左对齐,右边补2个空格
printf("%05d\n",999);		// 前面补0:00999
printf("%+d,%+d\n",9,-9);	// 输出 正负号:+9,-9
printf("%x,%#x\n",99,99);	// 输出:63,0x63
printf("%.8d\n",1000);		// 不足指定宽度前导补0:00001000
printf("%.8f\n",1.123456789);// 超过精度,截断:1.12345679
printf("%.8f",1.1234);		// 不足精度,后置补0:1.12340000
printf("%.8g\n",1000.123456);// 最大有效数字是8位:1000.1235
printf("%.3s\n","abcdefg");	 // 超过指定长度,截断:abc
  • example
printf("%s:%d\n", __FUNCTION__, __LINE__);`打印函数名及所在行

fprintf

int fprintf(FILE *stream, const char *format, ...);
  • 功能:把数据以革种格式写到fp指定的文件中去
  • 特点:
    • fp为stdout时,相当于printf

sprintf

int sprintf(char *str, const char *format, ...);