分类: C/C++
2005-12-07 17:32:58
今天看到一个奇怪的scanf。其实这只是用了正则表达式:sscanf(user, "%127[^:]:%127[^ ]", user_name, password);
今天看到一个奇怪的scanf。其实这只是用了正则表达式。
sscanf(user, "%127[^:]:%127[^
]", user_name, password);
"%127[^:]:%127[^
]",是正则表达式
用scanf或者printf,可以在%后面跟%d,%s等东西,也可以跟一个正则表达式。
这里,127表示最多可以接受127个字符,[^:]是正则表达式,表示非":",到":"结束
后面,%127[^
],同样,其中[^
]是正则表达式,表示非"
",到"
"结束
所以,如果user是"wpc:123456"的字符串,那么经过上面的sscanf后,
user_name是wpc,而password是123456