免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6865 | 回复: 4
打印 上一主题 下一主题

关于sscanf读取数据 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2003-07-16 16:34 |显示全部楼层

关于sscanf读取数据

sscanf(s, "[%[^]]].[%[^]]", s1, s2);

论坛徽章:
0
2 [报告]
发表于 2003-07-17 09:13 |显示全部楼层

关于sscanf读取数据

先把楼主的例子改一下
char *s="1try234delete5"
则:
sscanf(s, "1%[^2]234%[^5]", s1, s2);
现在是否就容易理解了?
1、scanf的format中出现的非转换字符(%之前或转换字符之后的字符),即此例中的1234用来跳过输入中的相应字符;
2、‘[]’的含义与正则表达式中相同,表示匹配其中出现的字符序列;^表示相反。使用[ ]时接收输入的变量必须是有足够存储空间的char、signed char、unsigned char数组。记住[也是转换字符,所以没有s了。

论坛徽章:
0
3 [报告]
发表于 2003-07-17 11:44 |显示全部楼层

关于sscanf读取数据

呵呵,这样不行的。s4输入为空,输入缓冲区不会往前走,所以后边都是空了。
这样的东西得用strtok_r。

论坛徽章:
0
4 [报告]
发表于 2003-07-17 11:49 |显示全部楼层

关于sscanf读取数据

Thread-Safe Function of strtok

论坛徽章:
0
5 [报告]
发表于 2003-07-17 11:54 |显示全部楼层

关于sscanf读取数据

自己查一下吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP