CStringFormat()函数与格式输入与输出

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CStringFormat()函数与格式输入与输出

Format 指定输出格式,后面跟要输出的变量

目前printf 支持以下格式:

%c 单个字符

%d 十进制整数

%f 十进制浮点数

%o 八进制数

%s 字符串

%u 无符号十进制数

%x 十六进制数

%% 输出百分号%

一个格式说明可以带有几个修饰符,用来指定显示宽度,小数尾数及左对齐等:

- 左对齐

+ 在一个带符号数前加'+'或'-'号

0 域宽用前导零来填充,而不是用空白符

域宽是一个整数,设置了打印一个格式化字符串的最小域。精度使用小数点后加数字表示的,给出每个转换说明符所要输出的字符个数。

注意:带修饰符的显示可能不正常。

数据格式说明由“%”开头,形式为

%<数据输出宽度说明><格式符>,数据格式说明用在需要输出变量或运算数值结果的时候,它的个数与输出表列的个数一一对应。

数据宽度说明中如果实际数据小于宽度,则根据宽度是否大于零而左补空格或右补空格。如果实际数据大于宽度,按实际位数输出。如果缺省宽度说明,则按实际宽度输出。

CString.format('%10f', a);

10表示把a以10个字符宽度格式化

%f形式输出,则小数部分为6位;

%10f 若a的整数部分位数+小数点(1位)+小数部分位数大于等于10,则按实际a的形式格式化;

若a的整数部分位数+小数点(1位)+小数部分位数小于10,则在前面补空格,补足10位;

%.7f 则

a的小数部分位数若大于7,则截取7位小数,整数部分不变;

a的小数部分位数若小于等于7,则不满7位的部分后面以

0补足;

str.Format(_T('Left-justified integer: %.6d\n'), b);

%.6d

若整数b不满6位则在最高为前面补0;

若整数b大于等于6位则形式不变;

%6d

若整数b不满6位,则在最高位前面补上空格,是之格式化为6个字符宽度;

若整数b大于等于6位则形式不变。

附:printf

int printf(const char *format,[argument]);

format 参数输出的格式,定义格式为:

%[flags][width][.perc] [F|N|h|l]type

规定数据输出方式,具体如下:

1.type 含义如下:

d 有符号10进制整数

i 有符号10进制整数

o 有符号8进制整数

u 无符号10进制整数

X/x 有符号16进制整数

F/f 浮点数

E/e 用科学表示格式的浮点数

g 使用%f和%e表示中的较精确者来表示浮点数G 同g 格式,但表示为指数

c 单个字符

s 字符串

% 显示百分号本身

p 显示一个指针,near指针表示为:XXXX

far 指针表示为:XXXX:YYYY

n 相连参量应是一个指针,其中存放已写字符的个数

2.flags 规定输出格式,取值和含义如下:

无右对齐,左边填充0和空格

+ 左对齐,右边填充空格

- 在数字前增加符号+ 或-

一个空格只对负数显示符号

# 当type=c,s,d,i,u时没有影响

type=o,x,X时,在数值前增加'0'字符

type=e,E,f时,总是使用小数点

type=g,G时,除了数值为0外总是显示小数点3.width 用于控制显示数值的宽度,取值和含义如下n(n=1,2,3...)

宽度至少为n位,不够以空格填充

0n(n=1,2,3...) 宽度至少为n位,不够左边以0填充* 格

式列表中,下一个参数还是width 4.prec 用于控制小数点后面的位数,取值和含义如下:

无按缺省精度显示

0 当type=d,i,o,u,x时,没有影响

type=e,E,f时,不显示小数点

n(n=1,2,3...) 当type=e,E,f时表示的最大小数位数

type=其他,表示显示的最大宽度 .*

格式列表中,下一个参数还是width

5.F|N|h|l 表示指针是否是远指针或整数是否是长整数

F 远指针

n 近指针

h短整数或单精度浮点数

l 长整数或双精度浮点数

1.一般格式

printf(格式控制,输出表列)

例如:printf("i=%d,ch=%c\n",i,ch);

说明:

(1)“格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,它包括两种信息:

①格式说明:由“%”和格式字符组成,它的作用是将输

出的数据转换为指定的格式输出。

②普通字符,即需要原样输出的字符。

(2)“输出表列”是需要输出的一些数据,可以是表达式

(3)printf函数的一般形式可以表示为

printf(参数1,参数2,……,参数n)

功能是将参数2~参数n按参数1给定的格式输出

2.格式字符(9种)

(1)d(或i)格式符。用来输出十进制整数,有以下几种用法:

①%d,按整型数据的实际长度输出。

②%md,m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。

③%ld(%mld 也可),输出长整型数据。

例如:long a=123456;

printf("%ld",a);

(2)o格式符,以八进制数形式输出整数。格式:%o,%mo,%lo,%mlo都可。

(3)x(或X)格式符,以十六进制数形式输出整数。格式:%x,%mx,%lx,%mlx都可。

(4)u格式符,用来输出unsigned型数据,即无符号

相关文档
最新文档