C++文件读写操作示例
需积分: 9 165 浏览量
更新于2024-09-16
收藏 2KB TXT 举报
"C++文件读写操作示例代码"
在C++编程中,文件的读写操作是一项基本技能,可以用于保存数据、记录日志或处理外部输入输出。本示例展示了如何在C++中读取和写入文件。
首先,我们引入必要的头文件:
```cpp
#include <fstream> // 用于文件操作
#include <iostream> // 用于输入输出流
#include <cmath> // 通常用于数学运算,但在这个例子中并未使用
```
接下来,我们定义两个函数:`read_save()` 和 `creat_data()`,分别用于文件读取和数据创建。
在`read_save()`函数中,我们创建一个输出文件流对象`ofstream outfile`来打开名为“f1.dat”的文件:
```cpp
ofstream outfile("f1.dat"); // 打开文件
```
如果文件打开失败,我们会输出错误信息并结束程序:
```cpp
if (!outfile) {
cerr << "openerror!" << endl;
exit(1);
}
```
然后,我们从标准输入(键盘)读取一行字符,并将满足条件的大写字母和小写字母写入到“f1.dat”文件中:
```cpp
cin.getline(c, 80); // 从标准输入读取一行
for (int i = 0; c[i] != 0; i++) { // 遍历字符串
if (c[i] >= 65 && c[i] <= 90 || c[i] >= 97 && c[i] <= 122) { // 检查字母
outfile.put(c[i]); // 将字母写入文件
cout << c[i]; // 同时在控制台输出
}
}
cout << endl;
```
最后,关闭文件流:
```cpp
outfile.close();
```
在`creat_data()`函数中,我们打开“f1.dat”文件进行读取,并创建一个新的“f3.dat”文件进行写入:
```cpp
ifstream infile("f1.dat", ios::in); // 打开文件读取
ofstream outfile("f3.dat"); // 创建新文件写入
```
同样,检查文件打开是否成功并处理错误。然后,逐个读取文件中的字符,如果是一个小写字母,将其转换为大写字母后写入到“f3.dat”文件:
```cpp
while (infile.get(ch)) { // 逐字符读取
if (ch <= 122 && ch >= 97) { // 检查是否为小写字母
ch = ch - 32; // 转换为大写字母
}
outfile.put(ch); // 写入字符
cout << ch; // 控制台输出
}
```
同样关闭文件流:
```cpp
infile.close();
outfile.close();
```
在`main()`函数中,调用这两个函数执行读写操作:
```cpp
int main() {
read_save(); // 读取并保存文件
creat_data(); // 创建新的数据文件
system("pause"); // 停留,等待用户按键
return 0;
}
```
这个例子演示了C++中基本的文件读写操作,包括创建文件流对象、打开文件、读取和写入数据以及关闭文件。此外,还展示了如何通过条件判断来处理字符转换。这为更复杂的文件操作奠定了基础。
2013-06-05 上传
2021-10-04 上传
2009-04-15 上传
2011-05-11 上传
2011-03-10 上传
2011-06-02 上传
hjt_waves
- 粉丝: 1
- 资源: 118
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器