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
printf("%s:%d\n", __FUNCTION__, __LINE__);`打印函数名及所在行
fprintf
int fprintf(FILE *stream, const char *format, ...);
- 功能:把数据以革种格式写到fp指定的文件中去
- 特点:
sprintf
int sprintf(char *str, const char *format, ...);