C语言中的文件操作和错误处理详解
创作时间:
作者:
@小白创作中心
C语言中的文件操作和错误处理详解
引用
CSDN
1.
https://blog.csdn.net/mzgxinhua/article/details/139935947
文件是记录的集合,或者是硬盘上的一个位置,数据永久存储在其中。
对文件的操作
C语言编程语言对文件的操作如下:
- 命名文件
- 打开文件
- 从文件中读取
- 写入文件
- 关闭文件
语法
打开文件的语法如下:
FILE *File pointer;
例如,FILE * fptr;
命名文件的语法如下
File pointer = fopen ("File name", "mode");
例如
fptr = fopen ("sample.txt", "r");
FILE *fp;
fp = fopen ("sample.txt", "w");
文件中的错误处理
文件中的一些错误如下:
- 尝试读取文件末尾。
- 设备过流。
- 尝试打开无效文件。
- 通过以其他模式打开文件来执行无效操作。
ferror()
它用于在执行读/写操作时检测错误。
ferror()函数的语法如下
语法
int ferror (file pointer);
例如
FILE *fp;
if (ferror (fp))
printf ("error has occurred");
如果成功,则返回零,否则返回非零。
程序
以下是使用 ferror()函数的 C 程序
#include<stdio.h>
int main(){
FILE *fptr;
fptr = fopen("sample.txt","r");
if(ferror(fptr)!=0)
printf("error occurred");
putc('T',fptr);
if(ferror(fptr)!=0)
printf("error occurred");
fclose(fptr);
return 0;
}
输出
当执行上述程序时,它会产生以下结果
error occurred
Note: try to write a file in the read mode results an error.
perror()
它用于打印错误。
perror()函数的语法如下
语法
perror (string variable);
例如
FILE *fp;
char str[30] = "Error is";
perror (str);
输出如下
Error is: error 0
程序
以下是使用 perror()函数的 C 程序
#include<stdio.h>
int main ( ){
FILE *fp;
char str[30] = "error is";
int i = 20;
fp = fopen ("sample.txt", "r");
if (fp == NULL){
printf ("file doesnot exist");
}
else{
fprintf (fp, "%d", i);
if (ferror (fp)){
perror (str);
printf ("error since file is opened for reading only");
}
}
fclose (fp);
return 0;
}
输出
当执行上述程序时,它会产生以下结果
error is: Bad file descriptor
error since file is opened for reading only
feof()
它用于检查是否已到达(或)未到达文件的末尾。
feof()函数的语法如下
语法
int feof (file pointer);
例如
FILE *fp;
if (feof (fp))
printf ("reached end of the file");
如果成功,则返回非零,否则返回零。
程序
以下是使用 feof()函数的 C 程序
#include<stdio.h>
main ( ){
FILE *fp;
int i,n;
fp = fopen ("number. txt", "w");
for (i=0; i<=100;i= i+10){
putw (i, fp);
}
fclose (fp);
fp = fopen ("number. txt", "r");
printf ("file content is");
for (i=0; i<=100; i++){
n = getw (fp);
if (feof (fp)){
printf ("reached end of file");
break;
}else{
printf ("%d", n);
}
}
fclose (fp);
getch ( );
}
输出
当执行上述程序时,它会产生以下结果
File content is
10 20 30 40 50
60 70 80 90 100
Reached end of the file.
总结
本文详细介绍了C语言中对文件进行操作的基本步骤,包括命名文件、打开文件、读取文件、写入文件以及关闭文件。文中还涵盖了文件操作中的错误处理方法,具体介绍了ferror()、perror()和feof()函数的使用及其示例程序。这些内容为编写健壮的文件操作代码提供了重要的参考,帮助开发者有效处理文件操作中的各种潜在错误。
热门推荐
王者荣耀澜:最佳铭文搭配与出装推荐
选购到用餐全环节把关,让孩子吃得安全又健康
中盐集团董事长李耀强:盐改7年,央企如何引领行业转型升级
手机亮度调节指南:这些方法最保护眼睛
脑出血的心理康复护理
五行缺木?探讨佩戴翡翠的风水意义与禁忌
脚气防治手册:揭示四大病因,从日常细节狙击足癣
宜宾出租车收费标准及主要出租车公司信息
骨折术后康复饮食指南:这样吃有助于快速恢复
和络舒肝胶囊:24味中药复方,治疗肝炎和肝硬化
和络舒肝胶囊:针对慢性肝病的新型中成药,临床证实效果显著
仲量联行发布《2024年第三季度西安商业与物流地产报告》
朱迅加盟2025央视跨年晚会,与撒贝宁同台主持
脑里有囊肿怎么办
Nature Medicine :破解医学影像数据稀缺——生成式AI的全新突破
干酵母片:助消化、增免疫,还能治疗糖尿病
补充营养改善消化,酵母片的五大功效与使用注意事项
硝酸甘油不是随便吃的!教你正确使用救命药
中国心血管疾病患病率上升,专家解析三大类型及预防要点
舌下含服、坐着用药:硝酸甘油的正确使用指南
淮南:楚都遗韵、成语故里,崛起的皖北重镇
新安江百里画廊:东方多瑙河畔的徽州古韵
硬盘损坏的症状及恢复方法:如何判断硬盘是否损坏并获取丢失的数据
硬盘坏道如何检测和修复?
冷战时期的危险游戏:那些差点毁灭世界的实验
52年,刘青山因贪污被枪决,3个孩子长大后为父翻案,结局如何?
会议座位安排影响会议效果,查询系统助力高效管理
洗衣防染色神器:白醋、柠檬汁和漂白剂
白醋泡洗法拯救染色白衣服
白衣服染色怎么办?这些妙招让你秒变清洁达人