1.scanf的经典用法:scanf("%[set]",&buf);以屏幕(stdin为输入源)
set有两种情况:
(1)“set”:表示在输入的字符串中将匹配所有在set中出现的字符,
遇到非set中的字符时停止匹配。
(2)“^set”:表示非, 即在输入的字符串中将匹配所有不在set中出现的字符,
遇到set中的字符时停止匹配。
2.sscanf的经典用法: 以固定的字符串为输入源
(1) 常见用法。
char buf[100] ;
sscanf("123456 ", "%s", buf);
printf("%s/n", buf);
结果为:123456
(2) 取仅包含指定字符集的字符串。
如在下例中,取仅包含1到9和小写字母的字符串。
sscanf("123456abcdedfBCDEF", "%[1-9a-z]", buf);
printf("%s/n", buf);
结果为:123456abcdedf
(3) 给定一个字符串iios/12DDWDFF@122,获取 / 和 @ 之间的字符串。
先将 "iios/"过滤掉,再将非'@'的一串内容送到buf中
sscanf("iios/12DDWDFF@122", "%*[^/] / %[^@]", buf);
printf("%s/n", buf);
结果为:12DDWDFF
3.fscanf的经典用法:int fscanf(文件指针,格式字符串,输入列表);从指定的文件中读取格式化数据
例如:
FILE* fp;
fscanf(fp,"%s%c%d%f",a,&b,&c,&d);