标准C语言8

本文详细介绍了C语言中的输出和输入缓冲区机制,包括如何在不同情况下刷新缓冲区。此外,还讨论了缓冲区带来的常见问题,如读取数据失败,并提供了相应的解决方法。文章还涵盖了字符串操作,如strlen、strcpy、strcat、strcmp等函数的使用,以及字符串转换和查找功能的介绍。最后,提出了一个基于C语言实现的通讯录系统的设计概念。
摘要由CSDN通过智能技术生成

输出缓冲区:

    程序并不会立即把输出的数据显示到屏幕上,而是先存储在输出缓冲区中,当满足一定条件时

    才显示出来

        1、遇到\n   (缓冲区内容也会刷新到屏幕上)

        2、程序结束时

        3、遇到输入语句时

        4、当缓冲区满4K时

        5、fflush(stdout)   手动刷新(Linux系统有用)

输入缓冲区:

    程序并不会立即获取屏幕上输入的数据,而是按下回车键后程序才从输入缓冲区读取数据

缓冲区机制:

    1、可以提高数据的读写速度

    2、可以让低速的输入输出设备与高速的CPU之间协调工作

缓冲区常见问题:

    1、当需要读取的是整型或者浮点型时,而输入缓冲区中的数据是字符或符号时,

        此时读取会失败,数据会残留在输入缓冲区中,就会影响接下来的所有数据的读取

        解决方法: 借助scanf返回值判断是否接收成功,如果接收过程有失败情况,

                可以先清理输入缓冲区,再重新循环直到接收成功为止

            int a = 0,b = 0,c = 0;

            while(3 > scanf("%d%d%d",&a,&b,&c))

            {

                printf("输入数据有误,请重新输入:");

                stdin->_IO_read_ptr = stdin->_IO_read_end;

            }

            printf("

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值