格式可以参考《unix环境高级编程》p122
在进程会计一节中
有这样一个使用,抽象如下:
struct acct acdata;
printf("%-*.*s",
(int)sizeof(acdata.ac_comm),
(int)sizeof(acdata.ac_comm),
acdata.ac_comm);
理解:首先-*表示的是左对齐,宽度为(int)sizeof(acdata.ac_comm),当输出字符数小与宽度,需要补齐。后面.*表示精度为(int)sizeof(acdata.ac_comm),表示string中显示的最大字符数。
在做cpu流水线时在vc中用的一个例子:
sprintf(pcString,"%04X",PC);
理解把pc以16进制形式转化成string,存在string变量pcString中。
阅读(1029) | 评论(0) | 转发(0) |