留着以后仔细研究
FROM:http://www.cnblogs.com/yuaqua/archive/2011/10/21/2219856.html
printf "%.*s"
小数点.后“*”表示输出位数,具体的数据来自参数表
printf格式字符串中,与宽度控制和精度控制有关的常量都可以换成变量,方法就是使用一个“*”代替那个常量,然后在后面提供变量给“*”。
同样,小数点.前也可以添加*,也要用户输入一个位宽值来代替,表示输出的字符所占位宽。
#include <cstdio>
#include <iostream>
int main()
{
char *s = "this is test example";
int a,b;
printf("%.*s\n", 10, s);//这里的常量10就是给*号的,你也可以用一个变量来控制宽度
printf("%*.*s\n", 20, 10, s);//常量20控制输出所占位宽,也可以用一个变量控制
std::cin>>a>>b; //输入15 10
printf("%*.*s\n", a, b, s);//输出为:-----this is te
std::cin.get();
std::cin.ignore();//暂停程序执行
}
输出结果为:
this is te
----------this is te//-代表空格
15 10 //输入
-----this is te
注:printf的一般形式为printf("格式控制字符串",输出列表),格式控制字符串形式为:[标志][输出最小宽度][.精度][长度]类型。
其中方括号[]中的项为可选项。 各项的意义介绍如下:
1)类型:类型字符用以表示输出数据的类型,其格式符和意义如下表所示:
d 以十进制形式输出带符号整数(正数不输出符号)
o 以八进制形式输出无符号整数(不输出前缀 0)
x,X 以十六进制形式输出无符号整数(不输出前缀 Ox)
u 以十进制形式输出无符号整数
f 以小数形式输出单、双精度实数
e,E 以指数形式输出单、双精度实数
g,G 以%f 或%e 中较短的输出宽度输出单、双精度实数
c 输出单个字符
s 输出字符串
2)标志:标志字符为-、+、#、空格四种,其意义下表所示:
- 结果左对齐,右边填空格
+ 输出符号(正号或负号)
空格 输出值为正时冠以空格,为负时冠以负号
# 对 c,s,d,u类无影响;对 o 类,在输出时加前缀 o;对 x 类,在输出时加前缀 0x;对 e,g,f 类当结果有小数时才给出小数点
3)输出最小宽度:用十进制整数来表示输出的最少位数。 若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或 0。
4)精度:精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。
5)长度:长度格式符为 h,l 两种,h 表示按短整型量输出,l 表示按长整型量输出。
相关推荐
printf("* carrys 2 persons each time.In passing the river,at any bank *\n"); printf("* number of men must be more than the number the rateiners , *\n"); printf("* or the rateiners will kill the men...
Git 2.33 Release Notes ====================== Updates since Git 2.32 ... * Many "printf"-like helper functions we have have been annotated with __attribute__() to catch placeholder/parameter
* Modify Rutoken S binary interfaces by Aktiv Co. * Support GOST R 34.10-2001 and GOST R 34.11-94 by Aktiv Co. * CardOS driver now emulates sign on rsa keys with sign+decrypt usage with padding and ...
printf输出格式 格式代码 A ABC ABCDEFGH %S A ABC ABCDEFGH %5S ####A ##ABC ABCDEFGH %.5S A ABC ABCDE %5.5S ####A ##ABC ABCDE % - 5S A#### ABC## ABCDEFGH
printf("%*cMENU",20,' '); printf("\n%*c1. Is it a leap year?",10,' '); printf("\n%*c2. What day is it anyday?",10,' '); printf("\n%*c3. Print any month's calendar!",10,' '); printf("\n%*c4. Exit...
c代码-输入总秒数,转换为相应的时、分、秒。提示:在输出时,请使用下面的格式(变量名不要求一样)printf("%d:%.2d:%.2d\n", h, m, s) 输入:整数 输出:时分秒,整数,西文冒号分隔。
printf("\t%s\t%s\t%5.1f\t%5.1f\t%5.1f\t%6.2f\n",stu[iStudent].name,stu[iStudent].number,stu[iStudent].sub1,stu[iStudent].sub2,stu[iStudent].sub3,stu[iStudent].aver); } int i_max=1; float max_aver=...
goods s[M]; //用于存放货品信息 goods r[M]; //用于存放入库货品信息 goods t[M]; //用于存放出库货品信息 void Re_file(); //读入原始库存文件 void Stock_in(); //读入入库文件 void Stock_out(); ...
* 格式化字符串${0} -> 参考printf %s **/ String.prototype.format = function() { var args = arguments; return this.replace(/\$\{(\d+)\}/g, function(m, i){ return args[i]; });...
printf(欢迎使用s1240交换机数据采集系统); printf("* *"); printf("* 请选择您所需要的操作 *"); printf("* *"); printf("* 0:码制转换 *"); printf("* 1:数据校验 *"); printf("* 2:数据排序 *"); printf...
You can still use printf for debugging without including * <stdio.h>, although you might get a compiler warning. In general, * it's not good practice to ignore compiler warnings, but in this * ...
正在看的ORACLE教程是:Oracle如何直接运行OS命令(下)。... printf(”%.*s\n”, msg_length, msg_buffer); printf(”Daemon quitting.\n”); exit(1); } void sql_error() { char msg_b
printf("教师姓名:%s\n",p->teacher_name); printf("----------------------------------------------------------------------\n"); printf("课程名称 班级数目 理论课时 实验课时 单教学任务总课时\n"); ...
printf("\n%s使用连招攻击%s\n",player[i].name,player[j].name); s=rand()%100*2; player[j].Hp-=s; printf("%s受到%d点伤害\n\n",player[j].name,s); break; case 2: printf("\n%s释放超杀技\n",...
printf("%d %.2lf %s\n",p->num,p->score,p->name); p=p->next; } qsort(s,n,sizeof(s[0]),cmp); head=&s[0]; for(i=1;i;i++) s[i-1].next=&s[i]; s[n-1].next=NULL; p=head; while(p) { ...
对刚学习C的朋友有很好的帮助哦 看下例子 函数名: cabs 功 能: 计算复数的绝对值 用 法: double cabs(struct complex z);... printf("String is %s\n", str); /* free memory */ free(str); return 0; }
printf("Ver:%s %s\n", __DATE__, __TIME__); exit(0); default: usage (argv[0], 1); break; } } /* Signal and others. */ signal_init (); /* Init config. */ config_init(); /* Init the cmd */...