首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请教下怎么实现用scanf实现字符串输入筛选

2012-03-09 
请问下如何实现用scanf实现字符串输入筛选?请问下如何实现用scanf实现字符串输入筛选?列如:定义字符数组:c

请问下如何实现用scanf实现字符串输入筛选?
请问下如何实现用scanf实现字符串输入筛选?
列如:
定义字符数组:

        char   str[8]
        scanf( "**此处语句就是不懂的地方** ",str);
        printf( "%s ",str);

输入:123-asd-fg
输出:123asdfg         即跳过-不读入,然后以回车\n为输入结束

我已经知道scanf( "%[a-zA-Z]str);中
                       
%[a-zA-Z]表示只读入字母,遇到不是字母的变停止,

但是如果不停止而是跳过要怎么弄??

或者有什么更好的方法~~~希望大家帮下~~谢谢咯~~

附带一个网上常见的scanf应用~

http://www.soudie.net/top_25436_cat_1/

[解决办法]
scanf的这种用法让你觉得很酷吧。
我还是建议你远离这个太花哨的用法。
先全部读入内存再过滤,你可以使用更正规更强大的正则表达式。
[解决办法]
完全同意楼上

scanf只支持最简单的字符集,只能判断单个字符,没有其他功能
scanf( "%[0-9]%[-]%[a-z]%[-]%[a-z] ",str1,str2,str3,str4,str5);
对于固定格式,还能凑合着用,比如电话,车牌,但限制也比较大

热点排行