怎么指定个固定长度的值?

xniao 2002-03-18 09:35:28
比如说0000,用int的话会自动被改为0.
...全文
81 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
SlaSk 2002-03-19
  • 打赏
  • 举报
回复
格式符域:printf和vprintf函数

一个格式符由任选和需要的域组成,
有如下格式:%[flags][width][.precision][{h|l|I64|L}]type

每个格式符域是标志一个特殊格式选项的单个字符或数。最简单的格式符仅包含一个百分号和一个type字符(例如%s)。如果百分号之后紧跟一个作为格式域的没有意义的字符,该字符拷贝到stdout,例如,为了打印一个百分号,使用%%。

任选域,它出现在type字符之前,控制格式化的其它方面,给出如下:

type
确定关联的自变量是否解释为一个字符、一个字符串或一个数值所需的字符(参见表R.3)。

flags
任选字符或控制输出对齐方式和符号、空格、小数点、八进制和十六进制前缀打印的字符(参见表R.4),在一个格式符中可以出现多个标志。

width
任选的指出字符输出最小位数的数值(参见printf宽度格式符)。
preCision
任选的指出输出域全部或部分打印的字符最多个数的数值或者指出整数打印的最小数字位数的数值(参见表R.5)。

h|l|I64|L
任选的type的前缀,指出自变量的尺寸(参见表R.6)。

printf type域字符
type字符是唯一需要的格式域,它出现在任何任选格式域之后。type字符确立关联的自变量是否解释为一个字符、字符串或数值。类型C和S和以及printf函数的c和s行为都是

表R.3 printf type域字符字符类型(type)输出格式cint或wintt当与printf函数使用时,指出一个单字节字符;当与wprintf函数使用时,指出一个宽字符Cint或wintt当与printf函数时,指出一个宽字符;当与wprintf函数使用时,指出一个单字节字符dint有符号十进制字符iint有符号十进制字符oint无符号八进制整数uint无符号十进制整数xint无符号十六进制整数,使用"abcdef"XInt无符号十六进制整数,使用"ABCDEF"edouble有符号数值,格式为[-]d.dddd e [sign]ddd,这里d是单个十进制数字,dddd是一个或多个十进制数字,ddd是精确的三个十进制数字,sign是+或-EDouble与e格式一致,除了用E而不是e引导指数外fdouble有符号数值,格式为[-]dddd.dddd,这里dddd是一个或多个十进制数字,小数点之前的数字个数依赖于读数值的大小,小数点之后的数字个数依赖于要求的精度

——————————太多了,复制过来格式都乱了,你可以找《VC++ 运行库参考手册》看看,或者直接看MSDN
SlaSk 2002-03-19
  • 打赏
  • 举报
回复
printf();
里面补零嘛,好像对齐的那些,具体忘记了。
xniao 2002-03-18
  • 打赏
  • 举报
回复
不行呀,比如0023,它认为是二位数,怎么让他得到四位数呢?
leonfu 2002-03-18
  • 打赏
  • 举报
回复
char s[10];
int n = 100;
itoa(n,s,10);
printf("%d",strlen(s));
leonfu 2002-03-18
  • 打赏
  • 举报
回复
itoa
strlen
xniao 2002-03-18
  • 打赏
  • 举报
回复
或者怎么得到一个数值的长度,就是位数,比如说:100的位数是3 :)

69,372

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧