标准文件与缓冲区

文件

  1. 数据流:指程序与数据交互是以流的形式进行的。进行C语言文件的存取时,都会进行“打开文件”操作,这个操作就是在打开数据流,而“关闭文件”操作就是关闭数据流。
  2. 缓冲区:指在程序执行时,所提供的一块存储空间(在内存中),可用来暂时存放做准备执行的数据,它的设置就是为了提高存储效率,因为内存的存取速度比磁盘驱动器快得多。

        C语言的文件的处理功能依据系统是否设置“缓冲区”,分为两种:一种是设置缓冲区,另一种是不设置缓冲区。由于不设置缓冲区的文件处理方式,必须使用较低级别的I/O函数(包含在头文件io.h和fcntl.h中)来直接对磁盘存取,这种方式的存取速度慢,并且由于不是C标准函数,跨平台操作容易出现问题。下面只介绍第一种处理方式,即设置缓冲区的文件处理方式。

        当使用标准I/O函数(包含在头文件stdio.h)时,系统会自动设置缓冲区,并通过数据流来读写文件,当进行文件读取时,不会直接对磁盘进行读取,而是先打开数据流,将磁盘上的文件信息拷贝到缓冲区,然后程序再从缓冲区中读取所需要的数据,如下图所示:

C语言提供的标准文件

通常把显示器称为标准输出文件,printf就是向这个文件输出数据;putchar

通常把键盘称为标准输入文件,scanf就是从这个文件读取数据,getchar

#include<stdbool.h>
#include<stdio.h>
#include<math.h>

// 1sum
// 2scanf();getchar
// \n

int main()
{
    int sum = 0;
    char ch = '\0';

    while(getchar() !=‘\n’)
    {
        sun++;
    }
    printf("sum: %d \n",sum);
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值