C语言高级操作之永久数据存储(文件的操作)

永久数据存储

马上考试了,终于把最后一章文件看得差不多,写了这个加深下记忆,若有问题望大佬们指出

计算机存储设备分为两类,
一种临时,称为内部存储设备,如寄存器、高速缓存和内存储器等,特点是靠电信号存储数据信息,断电后数据丢失;
另一种是永久存储设备,通常称为外部存储设备,如磁盘存储器、光盘、闪存等。

文件(磁盘文件)是永久存储设备中数据管理的基本存储单位,能大量、永久性地保存数据信息,并能通过文件操作进行管理和使用。

文件

文件名由两部分组成,一是基本名一是扩展名。
路径:
绝对路径:从文件根目录开始,到文件所在目录为止,反斜杠进行分隔;
相对路径: 从当前目录开始,到文件所在目录为止;
可用“…”来访问当前目录的上级目录下的执行文件。
典型二进制文件扩展名:
.exe (可执行程序文件) .dll(动态链接库文件) .lib(静态链接库文件)
.dat(数据文件) .bmp(图像文件) .jpg(图像文件)

文件分为两类,一类是文本文件(ASCLL码文件),另一类是二进制文件
计算机系统中大部分文件都是二进制形式存在

文件打开方式(转自大佬,侵删)

转自大佬

注意:

  • 文件路径在代码中是用“\\”,前一个“\”是表示转义
  • exit() 用来无条件地直接退出程序,括号中为0时表示成功执行后正常退出,0值表示程序出错后非正常退出,且exit没有返回值

文件操作函数的返回值
fopen 成功返回文件指针值,失败返回NULL
fclose 成功返回0,失败返回EOF
feof 指针正指向文件尾返回非0值,否则返回0//二进制文件中只能用该
函数判断,不能用EOF,而文本文件中可以
ferror 出现错误返回非0,否则返回0//用来测试对文件的某个读写操作是否
出现错误
fgetc、fputc 成功执行返回读写字符的整数值,否则返回EOF
fgets 返回字符指针s的值
fputs 成功返回非负整数值,否则返回EOF
fscanf 成功执行返回所读取的字节数,否则返回EOF
fprintf 成功返回所写字节数,否则返回一个负整数值

下面是用One note做的一个表格
 文件操作函数及其返回值

注:
*区别文件指针和文件内部读写位置指针
文件指针:
可以看到,fopen()赋值后其值不变,直到文件关闭,释放占用资源;
文件内部读写位置指针:
看不到,通常文件打开时指向文件头,但由“a”类型打开时就指向文件尾,随着文件的读写操作,它将自动地顺序向文件尾方向移动

*文件打开一定要判断fopen是否执行成功,否则可能引起不可控错误

都看到最后了点个赞叭

  • 10
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值