您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
scanf读取空格
发布时间:2021-04-16 21:18:54编辑:雪饮阅读()
在scanf读取来自控制台(键盘)的输入时候,只要遇到一个空格,scanf() 就会停止读取,所以 "I love beibei" 对 scanf() 来说是三个字符串。所以如下程序,便在i字面后就不会输出了。
那么如何让scanf能够读取空格呢?
这就需要用到正则了。
Scanf允许使用正则表达式定制自己的扫描集如:
%[abc]、%[a-z]、%[^abc]、%[^a-z]
[]内是匹配的字符,^表示求反集。
那么[^\n]表示的就是除了换行符以外,这样就可以包含空格字符了,所以上面的程序中scanf语句修改如:scanf("%[^\n]",str);
这样就可以实现I love beibei的完整实现了。
关键字词:scanf,空格
下一篇:头文件与-l