编程常用的格式符说明
最近笔者在linux上用gdb调试代码的时候,看到有个前辈的写的调试代码,直接输出类的地址,其中就用到了格式符p,为了巩固基础知识,特地写一篇博客回顾常用的格式符,好激动第一次用markdown在csdn写微博,废话不多说,我们开始
常用的格式符
格式字符属于C语言的基本知识。
printf使用的格式字符有:
% | 格式字符 | 字符代指 |
---|---|---|
% | d | 输出整形实际长度 |
% | md | 输出整形数据的宽度为m,d的宽度大于m,输出d的实际长度,否则以空格补齐位数 |
% | ld | 输出长整型数据 |
% | o | 以8进制的方式输出整数 |
% | x | 以16进制的方式输出整数 |
% | u | 以无符号的方式输出十进制整数 |
% | c | 输出字符 |
% | s | 输出字符串 |
% | f | 输出浮点数 |
% | e | 以指数形式输出实数 |
% | g | 根据大小自动选f格式或e格式,且不输出无意义的零 |
% | p | 输出地址 |
自定义格式符
%[scanfset]
- 有两种形式:一种是以非 “^” 字符开头 , 表示在读入字符串时将匹配所有在 scanfset 中出现的字符,遇到非scanfset 中的字符时输入就结束。
- 另外一种形式是以 “^” 字符开头的scanfset ,表示在读入字符串时将匹配所有不在scanfset 中出现的字符,遇到scanfset 中的字符输入就结束。
范例
string s ="hello world ";
printf(“%[^o]”,s); //输出结果:hell
printf("%[hell]",s); //输出结果:hell