标准IO

本文介绍了标准IO,包括fopen()用于按指定方式打开文件,fclose()用于关闭文件,fgets()用于从输入流中读取字符串,fread()和fwrite()用于数据的读写,以及atoi()、printf()和scanf()等常用函数。讨论了不同文件打开模式的含义和错误处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IO分为:标准IO(stdio)和系统IO(sysio),两者间的区别:

类型 可移植性 实时性 吞吐量 功能
STDIO 受限
SYSIO 自由

系统IO是由内核中的函数库提供的.不同的操作系统所提供的IO接口时不同,所以使用系统IO的移植性差.如果想要移植系统IO所实现的程序到目标平台上,就带按照目标平台所提供的系统IO接口对程序进行修改.

1.fopen()

//打开一个流
#include <stdio.h>

FILE *fopen(const char *path,const char *mode);

功能:将指定目录下的文件按照相应的方式打开.
参数:
path:要打开的文件的所在的目录.
mode:文件的打开方式,一共六种:

  • r:文件以只读方式打开,文件位指针被定位到文件首,如果要打的文件不存在就报错.
  • r+:文件以读写方式打开,文件位指针被定位到文件首,如果要的开的文件不存在就报错.
  • w:文件以只写方式打开,如果文件不存在就创建,如果文件存在就将文件截断为0,并且将文件位指针定位到文件的首.
  • w+:文件以读写的方式打开,如果文件不存在就创建,如果文件存在就将文件截断为0,并且将文件位指针定位到文件首.
  • a:文件以追加的方式打开,文件不存在则创建,且文件位置指针会被定位到文件最后一个有效字符的后面的下一个有效字符.(EOF,end of file)
  • a+:文件以读和追加的方式打开,文件不存在则创建,且文件位指针会被定位到文件首,但是写总是定位到文件最后一个有效字符的下一个字符.

返回值:
FILE是标准库定义的一个结构体,函数返回的FILE的指针,是我们打开该文件的依据,后面我们要对文件进行的各种操作都是依靠该指针进行的,注意:fopen()打开一个文件后,记住要用fclose()将该文件资源关闭.
error值:
如果该函数返回一个NULL指针,表示该文件打开失败,可以通过error来获取到具体的失败原因.error是标准C中定义的整型数,用来表示上一次发生的错误.
error是一个整型数,用户无法得知该错误的解释,perror()会自动读取error的值并将其转换成相应的文字解释,并打印到标准输出中.strerror()不会自动读取error的值,需要我们将error的值传给它,而且strerror也不会将错误的文字描述输出到标准输出上,而是将字符串返回给我们.精灵进程可以使用stre

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值