C_文件输入/输出

一、与文件进行通信

              1) 程序从文件中读取信息把信息写入文件,这种交互形式就是文件重定向

              2) 文件通常是在磁盘或固体硬盘上的一段已命名的存储区

              3) C把文件看作是一系列连续的字节,每个字节都能被单独读取

              4) C提供两种文件模式: 文件模式二进制模式

      1.文本模式和二进制模式(两种访问文件的途径)

               1) 所有文件的内容都以二进制形式(0或1)储存

               2) 如果文件最初使用二进制编码的字符表示文本,该文件就是文本文件,其中包含文本内容

               3) 如果文件中的二进制值代表机器语言代码数值数据图片音乐编码,该文件就是二进制文件,其中包含二进制内容

               4) 在二进制模式中,程序可以访问文件的每个字节

               5) 在文本模式中,程序所见的内容文件的实际内容不同(读取文件时把本地环境表示的行末尾文件末尾映射为C模式)

      2.I/O的级别(处理文件访问的两个级别)

               1) 底层I/O使用操作系统提供的基本I/O服务

               2) 标准高级I/O使用C库的标准包stdio.h头文件定义

      3.标准文件

                C程序会自动打开三个文件,它们被称为标准输入(键盘)标准输出(显示屏)标准错误输出

二、标准I/O

              1) 在最初调用的main(0中使用return调用exit()的效果相同

              2) 如果main()在一个递归程序中exit()仍然会终止程序,但是return只会把控制权交给上一级递归,直至最初的一级

              3) 在其他函数中(除main()以外)调用exit()也能结束整个程序

    1.fopen()函数(打开文件)                      //stdio.h

              1) fopen()函数的第一个参数是待打开文件的名称(包含该文件名的字符串地址)

              2) fopen()函数的第二个参数是一个字符串,指定待打开文件的模式

fopen()的模式字符串
模式字符串 含义
"r" 以读模式打开文件
"w" 以写模式打开文件,把现有文件的长度截为0,如果文件不存在则创建一个新文件
"a" 以写模式打开文件,把现有文件末尾添加内容,如果文件不存在则创建一个新文件
"r+" 以更新模式打开文件(即可以读写文件)
"w+" 以更新模式打开文件(读和写),如果文件存在,则将其长度截为0;如果文件不存在则创建一个新文件
"a+" 以更新模式打开文件(读和写),在现有文件的末尾添加内容,如果文件不存在则创建一个新文件;可以读整个文件,但是只能从末尾添加内容

"rb"、"wb"、"ab"、"ab+"、"a+b"、

"wb+"、"w+b"、"ab+"、"a+b"

与上一个模式类似,但是以二进制模式而不是文本模式打开文件
"wx"、"wbx"、"w+x"、"wb+x"、"w+bx" C(11)类似非x模式,但是如果文件已存在或以独占模式打开文件,则打开文件失败

              3) 像UNIX和Linux这样只有一种文件类型的系统,带b字母的模式和不带b字母的模式相同

              4) 使用带x字母的写模式,即使fopen()操作失败,原文件的内容也不会被删除

              5) 如果环境允许,x模式的独占性使得其他程序或线程无法访问正在被打开的文件

              6) 如果使用带x字母的任何一种模式,将无法打开一个现有文件

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值