C语言中使用fopen()打开和操作文件的详细指南
创作时间:
作者:
@小白创作中心
C语言中使用fopen()打开和操作文件的详细指南
引用
CSDN
1.
https://m.blog.csdn.net/mzgxinhua/article/details/139688304
文件模式的解释与详细说明
在C语言中,fopen()
函数用于打开指定的文件。其基本语法如下:
FILE *fopen(const char *filename, const char *mode);
其中,filename
是要打开的文件名,mode
是打开文件的方式。以下是fopen()
支持的有效模式:
'r'
:以只读方式打开文件,文件必须存在。'w'
:以写方式打开文件,若文件存在则清空文件内容,若文件不存在则创建新文件。'a'
:以追加方式打开文件,写入的数据会添加到文件末尾,若文件不存在则创建新文件。'r+'
:以读写方式打开文件,文件必须存在。'w+'
:以读写方式打开文件,若文件存在则清空文件内容,若文件不存在则创建新文件。'a+'
:以读写方式打开文件,写入的数据会添加到文件末尾,若文件不存在则创建新文件。
fopen()
返回值的处理
fopen()
函数返回一个指向FILE
类型的指针,如果打开文件失败,则返回NULL
。因此,在使用fopen()
打开文件后,应该检查返回值是否为NULL
,以确保文件成功打开。
代码示例
使用fopen()
以写模式打开现有文件
如果要打开的文件不存在于当前目录中,则会创建一个新的空文件,并以写模式打开。如果文件存在且以'w'
或'w+'
模式打开,则在写操作之前文件内容会被删除。
示例代码:
#include <stdio.h>
#include <stdlib.h>
int main() {
// 以写模式打开文件
FILE *opFile = fopen("test.txt", "w");
if (opFile == NULL) {
puts("Couldn't open file");
exit(0);
} else {
fputs("includehelp", opFile);
puts("Write operation successful");
fclose(opFile);
}
return 0;
}
输出:
Write operation successful
说明:初始文件内容 - C programming language
写操作后的内容 - includehelp
写操作会删除文件中已有的所有内容,然后写入新内容。为了解决这个问题,C语言提供了两种不同的方法,程序员可以根据需要选择:
'a'
(追加模式)- 这种模式会将新内容追加到文件内容的末尾。'wx'
模式 - 如果文件已存在于目录中,则返回NULL
。
使用'a'
模式对现有文件进行写操作
示例代码:
#include <stdio.h>
#include <stdlib.h>
int main() {
// 以追加模式打开文件
FILE *opFile = fopen("test.txt", "a");
if (opFile == NULL) {
puts("Couldn't open file");
exit(0);
} else {
fputs("includehelp", opFile);
puts("Write operation successful");
fclose(opFile);
}
return 0;
}
输出:
Write operation successful
说明:初始文件内容 - C programming language
追加操作后的内容 - C programming language includehelp
使用'wx'
模式对现有文件进行写操作
示例代码:
#include <stdio.h>
#include <stdlib.h>
int main() {
// 以 'wx' 模式打开文件
FILE *opFile = fopen("test.txt", "wx");
if (opFile == NULL) {
puts("Couldn't open file");
exit(0);
} else {
fputs("includehelp", opFile);
puts("Write operation successful");
fclose(opFile);
}
return 0;
}
输出:
Write operation successful
说明:使用'wx'
模式,如果文件已存在,则会返回NULL
并退出,不会覆盖文件内容。
补充示例:r+
和w+
模式的使用
- **
r+
模式:**用于读取和写入文件,但文件必须存在。
示例代码:
#include <stdio.h>
#include <stdlib.h>
int main() {
// 以 'r+' 模式打开文件
FILE *opFile = fopen("test.txt", "r+");
if (opFile == NULL) {
puts("Couldn't open file");
exit(0);
} else {
fputs(" new text", opFile);
puts("Write operation successful");
fclose(opFile);
}
return 0;
}
- **
w+
模式:**用于读取和写入文件,如果文件不存在则创建新文件,存在则清空内容。
示例代码:
#include <stdio.h>
#include <stdlib.h>
int main() {
// 以 'w+' 模式打开文件
FILE *opFile = fopen("test.txt", "w+");
if (opFile == NULL) {
puts("Couldn't open file");
exit(0);
} else {
fputs("includehelp", opFile);
puts("Write operation successful");
fclose(opFile);
}
return 0;
}
本文原文来自CSDN
热门推荐
医疗机构消毒技术规范是什么
保租房对青年的吸引力如何?
螺旋桨设计的最新发展如何优化电动和混合动力船?
临床实验室废水处理设备的国家标准详解
三角洲行动s3医疗兵用什么枪械好
德苏如何共同瓜分波兰?揭秘二战前夕的秘密协议
从苏德瓜分波兰到美苏冷战,苏联的外交战略是如何转变的
试论普罗科菲耶夫钢琴奏鸣曲创作特征分析
多元化投资,为什么不等于“每种资产都买一点”?
股权转让涉及的主要税务问题详解
脑出血病人的护理措施 脑出血患者的常规护理方法
中医理论的核心——阴阳五行
心率过快有什么办法可以缓解
智能轨道巡检机器人在火力发电厂中的应用
SpaceX “星舰”四战太空,这次成功了
国内中老年必去的7个旅游景点,性价比超高,你去过几个
科学素质提升:这些趣味科学小故事,让孩子从小爱上数理化,快收藏!
每个Windows用户都该知道的10个最佳快捷键
泡奶粉用多少温度最好?儿科专家详解
决明子和蒲公英能一起泡水喝吗?功效与饮用指南
《刺客信条英灵殿》1.3版装备、符文选择建议 1.3版配装思路
英语四级考试考核要求与各题型解题技巧
四大品牌霍山石斛对比:千年传承与现代科技的完美融合
香港银行卡在大陆使用全解析:便利与限制一网打尽
深入了解香港银行卡费率:全面指南与实用建议
机器学习算法在黄金量化交易中的具体应用
营养全面的低脂午餐~无油鸡胸配杂蔬
测量检测仪器需要我们定期校准吗?
熟地黄的5大功效与作用,4种人不宜食用
56岁的雷军是所有生意人值得学习的榜样,他做了4件最不平凡的事