文件是一块存储信息的存储器区域,可能这样说很多同学不理解,通俗来说,就是在磁盘上划分一块区域用于存放特定的数据,比如文本数据就是文本文件,音频数据就是音频文件。当然,文件夹也是一个特殊的文件。通常,文件被保存在电脑磁盘、U盘、光盘等存储介质上。文件对于计算机系统来说太重要了,编写的C语言程序需要用一个文件保存,程序也需要文件保存,比如编译C语言源文件的编译程序。

一些程序需要能够访问特定的文件。比如编译程序,它就需要访问C程序源文件,编译完成之后再关闭该文件。其它程序,像word、记事本等,不仅能访问文件,还能写入文件。

C语言提供了很多操作文件的库函数,具有打开、读、写和关闭文件的作用,使用这些库函数,程序可以很方便的操作文件。实际上,C可以调用系统上的基本文件工具来处理文件,这被称作低级I/O,比如C可以调用windows的API来处理文件,但是因为世界上不止有windows系统,还有Linux、Unix等众多系统,系统之间具有差异性,比如文件存储的方式不同,因此C不可能创建一个通用的低级I/O函数的标准库。

C用另外一种方式处理文件,称为标准I/O包,其中包括创建用于处理文件的I/O函数的标准模型和标准集。使用这用方式,系统之间的差异由特定的C实现来处理,所以现在用C和文件打交道的是一个统一的接口。

从概念上来说,C程序处理一个流而不是直接处理文件。流是一个理想化的数据流,实际输入或输出映射到这个数据流,这意味着具有不同属性的多种类型的输入由流表示,会具有更多统一的属性。比如从一个本地文件中读取数据和从服务器上请求文件有很多差异,但是通过流来表示,将会有很多通用的方式来操作两者。

这里我们需要注意,C对待输入输出设备和对待存储设备上的普通文件相同。也就是说,键盘、显示屏等输入输出设备对C来说也是一个文件。特别注意,键盘和显示设备是作为每个C程序自动打开的文件来对待的。键盘输入由一个被称为stdin的流表示,而到显示屏、打印机或其他输出设备上的输出由一个被称为stdout的流表示。getchar()、putchar()、printf()和scanf()函数都是标准I/O包的成员,这些函数同这两个流打交道。

本文系小博客网站原创,转载请注明文章链接地址

c++ 读文件_C语言处理文件基础知识:文件、流和键盘输入相关推荐

  1. C++基础知识(一) 键盘输入

    不得不说已经学过C++有两年的时间了,但是之前不论是做实验还是干活,所使用的工具都不是CPP.所以现 在,基本上已经忘得差不多很可以了.现在重新开始对C++进行学习,写一些博客,对自己所学过的东西进行 ...

  2. 变量基础知识和如何接受键盘输入的值

    数值的命名规则 1.变量可以有字母,数字,下划线,美元符,人明币组成 2.变量不可以数字开头 3.正常以小写字母.下划线或美元符开头 4.人明币一般不使用 5.驼峰命名法: 多个单词,除去开头的,每个 ...

  3. c语言编程基础课件,第7章_C语言图形编程基础课件

    第7章_C语言图形编程基础课件 狭义的组织变革是指组织根据外部环境的变化和内部情况的变化及时地改变自己的内在组织结构,以适应客观发展的需要. 狭义的组织变革是指组织根据外部环境的变化和内部情况的变化及 ...

  4. 文件的属性 计算机知识,计算机基础知识文件的属性(二)

    计算机基础知识文件的属性(二) 我们就继续往下讲."名称"后面是"大小",表示文件的信息量,也就是说它在硬盘上占用的空间.还记得我们说过硬盘的和软盘的大小吗? ...

  5. c语言二级程序设计题难吗,c语言二级公共基础知识试题特点

    二级C一直以来是整个二级考试中试题最多.难度最大.报考人数也最多的考试,以下是由学习啦小编整理关于c语言二级公共基础知识试题特点的内容,希望大家喜欢! 从2008年4月份开始笔试由原来120分钟减少到 ...

  6. C语言中重要基础知识的概述

    本章主要对于C语言中的基础知识进行一个大致的描述,适合有C语言基础但长久没接触C语言开发的人员进行快速回忆.在总体回忆基础知识之前,先来创建一个C程序.笔者的编译器是visual stduio2013 ...

  7. R语言可视化绘图基础知识详解

    R语言可视化绘图基础知识详解 图形参数:字体.坐标.颜色.标签等: 图像符号和线条: 文本属性: 图像尺寸及边界: 坐标轴.图例自定义等: 图像的组合: #install.packages(c(&qu ...

  8. Java编程语言学习:Java语言编程的基础知识之Java的变量与数据类型、符号、运算符、数组Array总结之详细攻略

    Java编程语言学习:Java语言编程的基础知识之Java的变量与数据类型.符号.运算符.数组Array总结之详细攻略 目录 Java语言编程的基础知识之Java的变量与数据类型.符号.运算符.数组总 ...

  9. c语言需要哪些英语基础,学习C语言的必备基础知识(国外英语资料).doc

    学习C语言的必备基础知识(国外英语资料) 满卧裹瑟莉筑部获搪肪棱惺杀摄械圭旬敷豹休登悬邱雀报台盼拈毒鹰进怀却恩登雄旁二宇谊婆叔陌嘎扇体歌嫉蹿久题篡憨琵夹涌芦鸣褐颂诅讳拴狸果液梦绸亥氯确杯牌憨耗终贼况榔 ...

  10. C语言编程>第二十二周 ④ 从键盘输入一组小写字母,保存在字符数组str中,请补充fun函数,该函数的功能是:把字符数组str中字符下标为偶数的小写字母转换成对应的大写字母,结果仍保存在原数组

    例题:从键盘输入一组小写字母,保存在字符数组str中,请补充fun函数,该函数的功能是:把字符数组str中字符下标为偶数的小写字母转换成对应的大写字母,结果仍保存在原数组中. 例如,输入 " ...

最新文章

  1. 刻意练习:Python基础 -- Task09. else 与 with 语句
  2. python计算运动会某个参赛选手的得分。数据保存在文件中_Python基础教程之第二章---变量和字符串(1) 搬运...
  3. Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解
  4. 拾遗:『ext4 Quota』
  5. 【Python】读写文件的操作
  6. 追风猎洞只能喝西北风吗?
  7. 使用SVN管理unityproject
  8. PHP spl_autoload_register()函数的一些见解
  9. 智慧水务ZWS云平台方案,共促水务行业数字化建设
  10. 【Word】批量修改Word 图片大小
  11. 你没有权限修改该网络位置的文件
  12. s3cmd安装配置及基础命令
  13. Vue视频教程 向军Vue基础教程 共86课
  14. 飞塔防火墙命令行终端修改输出长度
  15. Android手机app的adb命令测试电量
  16. 常见信息泄露类漏洞风险与解决方案
  17. ansys workbench收敛判断
  18. linux命令行界面上滑,获得Linux命令行平滑体验的5条技巧
  19. OpenCV学习之利用背景建模检测运动物体
  20. 用FPGA处理矩阵加法

热门文章

  1. [转]学习Objective-C: 入门教材
  2. EditPlue使用进阶之正则表达式
  3. 小程序组件 Vant Weapp 安装
  4. css实现左侧宽度自适应,右侧固定宽度
  5. 64位jvm的指针膨胀 和 数据补白
  6. javascript之浏览器调试
  7. 对现有代码的分析方法随想
  8. 2017计算机考研教材,【考研】2017计算机考研:四大科目参考书推荐
  9. 服务器信息采集协议,服务器信息采集
  10. php验证年月日的正则表达式,关于正则表达式:在php中验证日期格式