scanf的另一种用法
来源:互联网 发布:小米网络助手apk通用版 编辑:程序博客网 时间:2024/05/22 05:02
scanf除了平时使用的类似于
scanf("%d", &a);
等用法,还有一些不常见的用法,但却很有用。例如可以输入带空格的字符串:
char buf[80] = {0}; scanf("%[^\n]", buf);
原理是使用了[...]和[^...]这个转换符,这是一种很少见的用法,但却很有用 。
例如
#include <stdio.h> main() { char string[100] = {0}; scanf("%[1234567890]", string); printf("%s", string); getchar();}
如果输入123qwe,则会输出123.如果输入的字符属于方括号内字符串中某个字符,那么就提取该字符;如果不属于就结束提取。
再例如
#include <stdio.h> main() { char string[100] = {0}; scanf("%[^1234567890]", string); printf("%s", string); getchar();}
如果输入123qwe,输出却为空;如果输入qwe123,则输出qwe。不难发现它的作用是:如果输入的字符属于方括号内字符串中某个字符,那么就结束提取;如果不属于就提取该字符。
因此,使用
scanf("%[^\n]", buf);
这样,在遇到回车(\n)前,所有字符都会被提取记录,当然就包括了空格。
使用注意,在测试时发现,如果[]中的字符串前后有空格的话结果将不准确,使用时不要忘了。
- scanf的另一种用法
- 人民币的另一种用法
- using的另一种用法
- using的另一种用法
- 异常的另一种用法
- marker的另一种用法
- menu的另一种用法
- lxml的另一种用法
- scanf 的特殊用法
- scanf的用法
- scanf sscanf的用法
- scanf 的超级用法
- scanf的用法
- 关于scanf的用法
- scanf的用法
- scanf的用法
- scanf()的用法经验
- scanf函数的用法
- Oracle 11g系列—7—SQL 基础学习
- C#中MessageBox用法大全(附效果图)
- 并查集
- Oracle 11g系列—8—SQL语句编写规范
- 互联网大佬吸引天使的“上帝之手”
- scanf的另一种用法
- PorterDuff.Mode
- 配置VPN服务器使用L2TP/IPSEC协议
- 当腾讯真的成为“中国第四大运营商”……
- TextView、Button、EditText
- OOo-MySpell 一个C++的拼写语法检查开源项目
- C内存
- prim
- C++中volatile的作用