sscanf 函数简介
2007-10-26 09:50
429 查看
sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源。
函数原型:
int sscanf( const char *format [,argument]... );
其中的format可以是一个或多个 {%[*] [width] [{h | l | I64 | L}]type | ' ' | '/t' | '/n' | 非%符号},
注:{a|b|c}表示a,b,c中选一,[d],表示可以有d也可以没有d。
width:宽度,一般可以忽略,用法如:
const char sourceStr[] = "hello, world";
char buf[10] = {0};
sscanf(sourceStr, "%5s", buf); //%5s,只取5个字符
cout << buf<< endl;
结果为:hello
{h | l | I64 | L}:参数的size,通常h表示单字节size,I表示2字节 size,L表示4字节size(double例外),l64表示8字节size。
type :这就很多了,就是%s,%d之类。
特别的:
%*[width] [{h | l | I64 | L}]type 表示满足该条件的被过滤掉,不会向目标参数中写入值。如:
const char sourceStr[] = "hello, world";
char buf[10] = {0};
sscanf(sourceStr, "%*s%s", buf); //%*s表示第一个匹配到的%s被过滤掉,即hello被过滤了
cout << buf<< endl;
结果为:world
支持集合操作:
%[a-z] 表示匹配a到z中任意字符,贪婪性(尽可能多的匹配)
%[aB'] 匹配a、B、'中一员,贪婪性
%[^a] 匹配非a的任意字符,贪婪性
基本用法主要是3类:
1. 取指定长度的字符串 -- 使用 width 长度控制
2. 取指定格式数据 -- argument 中格式控制
3.取仅包含指定字符集的字符串 -- [] [^] 表示集合
更多用法参看 scanf 一文:
http://blog.csdn.net/jixingzhong/archive/2007/01/07/1476089.aspx
函数原型:
int sscanf( const char *format [,argument]... );
其中的format可以是一个或多个 {%[*] [width] [{h | l | I64 | L}]type | ' ' | '/t' | '/n' | 非%符号},
注:{a|b|c}表示a,b,c中选一,[d],表示可以有d也可以没有d。
width:宽度,一般可以忽略,用法如:
const char sourceStr[] = "hello, world";
char buf[10] = {0};
sscanf(sourceStr, "%5s", buf); //%5s,只取5个字符
cout << buf<< endl;
结果为:hello
{h | l | I64 | L}:参数的size,通常h表示单字节size,I表示2字节 size,L表示4字节size(double例外),l64表示8字节size。
type :这就很多了,就是%s,%d之类。
特别的:
%*[width] [{h | l | I64 | L}]type 表示满足该条件的被过滤掉,不会向目标参数中写入值。如:
const char sourceStr[] = "hello, world";
char buf[10] = {0};
sscanf(sourceStr, "%*s%s", buf); //%*s表示第一个匹配到的%s被过滤掉,即hello被过滤了
cout << buf<< endl;
结果为:world
支持集合操作:
%[a-z] 表示匹配a到z中任意字符,贪婪性(尽可能多的匹配)
%[aB'] 匹配a、B、'中一员,贪婪性
%[^a] 匹配非a的任意字符,贪婪性
基本用法主要是3类:
1. 取指定长度的字符串 -- 使用 width 长度控制
2. 取指定格式数据 -- argument 中格式控制
3.取仅包含指定字符集的字符串 -- [] [^] 表示集合
更多用法参看 scanf 一文:
http://blog.csdn.net/jixingzhong/archive/2007/01/07/1476089.aspx
相关文章推荐
- sscanf函数简介
- Python 常用函数time.strftime()简介
- sscanf函数的高级用法
- 关于函数指针简介
- 函数简介
- (五)Thinkphp常用短函数使用简介-TTLSA
- 多媒体函数简介
- C语言sscanf函数的总结
- sscanf函数用法详解
- C++ boost 组件简介:函数对象及高级编程
- NYOJ-305-表达式求值(第四届河南省程序设计大赛C题(模拟+栈||递归)(sscanf函数的应用))
- sscanf() 函数用法
- php 过滤函数简介用于跨站分析
- 关于c语言不同文件之间直接函数接口引用的简介
- Oracle 数据库SQL中 decode()函数简介
- C语言sscanf函数的总结
- [转帖]winsock函数简介
- SAS常用日期和时间函数简介
- sscanf()函数
- sscanf函数具体用法