150309——printf("%.*s")是何意?

借某论坛解答的几个例子:

// %.*s 其中的.*表示显示的精度 对字符串输出(s)类型来说就是宽度
// 这个*代表的值由后面的参数列表中的整数型(int)值给出

// 例如:
printf("%.*s\n", 1, "abc");        // 输出a
printf("%.*s\n", 2, "abc");        // 输出ab
printf("%.*s\n", 3, "abc");        // 输出abc 

又,在".*"前加以数字x,会在字符串前加入(x-1)个空格:
printf("%3.*s\n", 1, "abc");        // 输出  a
printf("%3.*s\n", 2, "abc");        // 输出 ab
printf("%3.*s\n", 3, "abc");        // 输出abc 
如果“.*”前数字小于字符串大小也不会发生什么缩减字符的现象:

printf("%2.*s\n", 3, "abc");        // 输出abc

如上所述,printf("%*.*s",...),前一个*会在字符串前增加空格,后一个*则控制输出字符个数。
 
时间: 2024-08-08 21:59:52

150309——printf("%.*s")是何意?的相关文章

心经 循环代码

#include <stdio.h> #include <stdlib.h> #include <time.h> #include <windows.h> int main() { //while(1) for(int i =0;i<100;i++) { //printf(" bō rě bō luó mì duō xīn jīng\n"); printf(" 摩诃般若波罗蜜多心经\n\n\n"); Sleep(

php中字符串处理

printf类型说明符 说明符 意     义 b 参数是一个整数并显示为一个二进制数 c 参数是一个整数并显示为对应于该值的字符 d 参数是一个整数并显示为一个十进制数 e或f 参数是一个双精度数并且显示为一个浮点数 g 参数是一个有精度双精度数并且显示为一个浮点数 o 参数是一个整数并显示为一个八进制(以8为基数的)数 s 参数是一个字符串并且显示为字符串 u 参数是一个无符号整数并且显示为一个十进制数 x 参数是一个整数并且显示为一个十六进制(以16为基数)数,用小写字母 X 参数是一个整

[转] C/C++中printf和C++中cout的输出格式

原文地址 一. Printf 输出格式 C中格式字符串的一般形式为: %[标志][输出最小宽度][.精度][长度]类型,其中方括号[]中的项为可选项.各项的意义介绍如下:1.类型类型字符用以表示输出数据的类型,其格式符和意义下表所示:表示输出类型的格式字符 格式字符意义a                                                                  浮点数.十六进制数字和p-计数法(C99)A                          

printf 输出格式

printf 输出格式C中格式字符串的一般形式为: %[标志][输出最小宽度][.精度][长度]类型,其中方括号[]中的项为可选项.各项的意义介绍如下:1.类型类型字符用以表示输出数据的类型,其格式符和意义下表所示:表示输出类型的格式字符 格式字符意义a 浮点数.十六进制数字和p-计数法(C99)A 浮点数.十六进制数字和p-计数法(C99)c 输出单个字符d 以十进制形式输出带符号整数(正数不输出符号)e 以指数形式输出单.双精度实数E 以指数形式输出单.双精度实数f 以小数形式输出单.双精度

c语言基础 - printf函数

一 printf函数的介绍 printf函数是一个标准库函数,能够以精确的格式输出程序运算的结果. printf函数的调用格式为: printf("格式控制字符串",输出项列表); 如:printf("%d,%d",a,b); 格式字符串 是由格式字符(包括:转换说明符.标志.域宽.精度)和普通字符组成,转换说明符和百 分号(%)一起使用,用来说明输出数据的数据类型.标志.长度和精度 输出项列表 可以是常量.变量和表达式,也可以没有输出项,这些输出项必须与格式控制字

C语言格式输出函数printf()详解

printf函数称为格式输出函数,其关键字最末一个字母f即为"格式"(format)之意.其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上.在前面的例题中我们已多次使用过这个函数. 1.调用格式为  printf("<格式化字符串>", <参量表>);   其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个规定字符, 用来确定输出

C语言printf()函数详解

printf函数称为格式输出函数,其关键字最末一个字母f即为"格式"(format)之意.其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上.在前面的例题中我们已多次使用过这个函数. printf函数调用的一般形式 printf函数是一个标准库函数,它的函数原型在头文件"stdio.h"中.但作为一个特例,不要求在使用 printf 函数之前必须包含stdio.h文件.printf函数调用的一般形式为: printf("格式控制字符串",

格式转换说明符scanf,printf格式%大全/格式化输入输出(转)

相信不管大神还是菜鳥,都认得printf.它家还有兄弟sprintf,scanf,sscanf...$^&* 当你华丽丽的写下char c='c';printf("char=%d",c);的时候,一切都还是那么美好. 不过当你声明一个char buf[2];然后sscanf("30000","%d",buf);的时候,就不那么好玩了. 本以为2个字节足够装下32767以内的数字,却把内存写爆了. 此处关键就是格式符乱写产生的问题. 此时最

关于printf的转换说明与转义的区别

printf("character: %c\ninteger: %d\nfloating point: %f\n", '}', 34, 3.14); printf 中的第一个字符串称为格式化字符串(Format String),它规定了后面几个常量以何种格式 插入到这个字符串中,在格式化字符串中%号(Percent Sign)后面加上字母c.d.f分别表示字符 型.整型和浮点型的转换说明(Conversion Specification),转换说明只在格式化字符串中占个位 置,并不出现