C语言中一些常用IO函数的总结
2017-03-08 14:14
816 查看
scanf()函数格式化读入函数,采用转换说明匹配
scanf()通过%的形式对数据进行读入,可以一次读入多个数据。scanf的实现依靠指针所以有如下两条规则:
1、scanf()读入基本数据类型时,需要在变量名前加&。
2、scanf()读入字符串数组时,不需要加。
如scanf("%d",&a),一次读入一个整型数据,scanf("%d%d",&a,&b),一次读入两个数据,在输入两个数据时,遇到第一个空白符号结束读入,开始第二个数据读入。同时,scanf()函数在读入单个字符时scanf("%c",&a)时,要小心缓冲区中空格,换行符等被读入。可以在百分号前加入空格过滤,具体与scanf()的实现有关。
scanf("%s",name)读入字符串,但是如果字符串中有空白符,则读到空白符结束。scanf()函数使用空白、制表符、换行符、空格把输入分成多个字段,从而完成对多个字段的读入。在依次把转换说明和字段匹配时跳过空白等。
在使用scanf()函数读入时,应该避免用于读入带空白等字符的字段。另外应该对scanf()函数发生不匹配时,无限占用缓冲缓冲区进行处理,可用两种方法,对scanf()返回值进行检查,若不匹配则直接退出。或者刷新缓冲区。
getchar()函数用于从输入队列中读入下一个字符,没有任何参数。如:ch=getchar();
gets()函数,读取整行输入,直至遇到换行符或者结束,然后i丢弃换行符,存储其余的字符到字符串数组,但是此函数不检查数组是否装得下整行的字符,容易造成溢出。
处理方法:
scanf()通过%的形式对数据进行读入,可以一次读入多个数据。scanf的实现依靠指针所以有如下两条规则:
1、scanf()读入基本数据类型时,需要在变量名前加&。
2、scanf()读入字符串数组时,不需要加。
如scanf("%d",&a),一次读入一个整型数据,scanf("%d%d",&a,&b),一次读入两个数据,在输入两个数据时,遇到第一个空白符号结束读入,开始第二个数据读入。同时,scanf()函数在读入单个字符时scanf("%c",&a)时,要小心缓冲区中空格,换行符等被读入。可以在百分号前加入空格过滤,具体与scanf()的实现有关。
scanf("%s",name)读入字符串,但是如果字符串中有空白符,则读到空白符结束。scanf()函数使用空白、制表符、换行符、空格把输入分成多个字段,从而完成对多个字段的读入。在依次把转换说明和字段匹配时跳过空白等。
在使用scanf()函数读入时,应该避免用于读入带空白等字符的字段。另外应该对scanf()函数发生不匹配时,无限占用缓冲缓冲区进行处理,可用两种方法,对scanf()返回值进行检查,若不匹配则直接退出。或者刷新缓冲区。
getchar()函数用于从输入队列中读入下一个字符,没有任何参数。如:ch=getchar();
gets()函数,读取整行输入,直至遇到换行符或者结束,然后i丢弃换行符,存储其余的字符到字符串数组,但是此函数不检查数组是否装得下整行的字符,容易造成溢出。
处理方法:
相关文章推荐
- 慢慢总结C语言一些常用函数
- java中的io系统总结及一些常用的操作
- Oracle常用技巧及一些函数的总结
- [matlab]mathworks上的cody challenge题解及一些常用函数的总结(8)
- Python学习笔记——一些常用函数、常见错误总结
- string常用的一些函数总结
- C语言一些常用的“位”操作函数
- [matlab]mathworks上的cody challenge题解及一些常用函数的总结(3)
- 让你提前认识软件开发(18):C语言中常用的文件操作函数总结及使用方法演示代码
- [matlab]mathworks上的cody challenge题解及一些常用函数的总结(5)
- string库函数-----------总结一些常用的处理string的函数
- 关于C语言中一些常用函数的说明
- c语言中一些常用的函数
- linux下的一些常用函数的总结
- C语言中几个常用的函数总结
- 黑马程序员_C#中的一些常用函数总结
- c语言常用函数总结
- Qt开发中字符串、字节数组和变量常用的一些函数总结
- C语言中一些不常用函数
- C语言一些常用内存分配函数