C++实现常用的文件操作
①输出到文本文件(txt)
1 #include<iostream>
2 #include<fstream>
3 using namespace std;
4 int main() {
5 ofstream doc("test.txt", ios::app);
6 //ios::app如果没有该文件,生成空文件;
7 //如果有文件,在文件尾追加
8 //如果打开失败
9 if (doc.fail()) {
10 cout << "error" << endl;
11 return 1;
12 }
13 int temp;
14 cin>>temp;
15 doc<<temp;//输出到文件中
16 doc.close();//关闭输出流
17 return 0;
18 }
②从文本文件读入数据
#include<iostream>
#include<fstream>
using namespace std;
int main() {
ifstream doc("test.txt");
int t,sum=0;
if (doc.fail()) {
cout << "error "<< endl;
}
while (doc >> t) {//从文件中读入一个整型数据且不为空
sum += t;
cout << t << endl;//输出这个读取到的数值
}
cout<<endl<<sum<<endl;
doc.close();
return 0;
}
③二进制写文件
1 #include<iostream>
2 #include<fstream>
3 using namespace std;
4 int main() {
5 ofstream doc("bfile1.dat",ios::out | ios::app | ios::binary);
6 if (doc.fail()) {//当文件打开失败时
7 cout << "error" << endl;
8 }
9 float t[] = {1.234,4242.212,4242,314.53,890.2};
10 int count = 0;
11 while (count < 5) {
12 doc.write((char *)&(t[count++]), sizeof(float));
13 }
14 doc.close();
15 return 0;
16 }
④二进制读文件
1 #include<iostream>
2 #include<fstream>
3 using namespace std;
4 int main() {
5 ifstream doc("bfile1.dat", ios::in | ios::binary);
6 if (doc.fail()) {
7 cout << "error" << endl;
8 }
9 float t;
10 while (doc.read((char *)&t, sizeof(float))) {
11 sum += t;
12 cout << t << ends;
13 }
14 cout << endl << sum << endl;
15 doc.close();
16 }
⑤二进制读写自定义类
1 #include<iostream>
2 #include<fstream>
3 using namespace std;
4 class employee {
5 private:
6 int num;
7 char name[20];
8 int age;
9 public:
10 void input(int num1, char * name1, int age1) {
11 strcpy_s(name, name1);
12 num = num1;
13 age = age1;
14 }
15 void show() {
16 cout << num << ends<<name<<ends<<age<<endl;
17 }
18 };
19 int main() {
20 employee e1, e2;
21 ofstream os("class.dat",ios::app|ios::binary|ios::out);//输出流
22 e1.input(12345, (char*)"小明", 19);
23 os.write((char*)(&e1) ,sizeof(e1));
24 os.close();
25
26 ifstream is("class.dat", ios::binary | ios::in);//输入流
27 is.read((char*)(&e2), sizeof(e2));
28 e2.show();
29 is.close();
30 }
C++实现常用的文件操作的更多相关文章
- python3速查参考- python基础 5 -> 常用的文件操作
文件的打开方式 打开方式 详细释义 r 以只读方式打开文件.文件的指针会放在文件的开头.这是默认模式. rb 以二进制只读方式打开一个文件.文件指针会放在文件的开头. r+ 以读写方式打开一个文 ...
- PHP常用的文件操作函数集锦
以下是个人总结的PHP文件操作函数.当然,这只是部分,还有很多,我没有列出来. 一 .解析路径: 1 获得文件名:basename();给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件 ...
- 常用PHP文件操作函数
注:文件操作函数的行为受到 php.ini 中设置的影响. 当在 Unix 平台上规定路径时,正斜杠 (/) 用作目录分隔符.而在 Windows 平台上,正斜杠 (/) 和反斜杠 (\) 均可使用. ...
- Linux常用命令--文件操作
常用Linux命令笔记(1) 1. 创建文件/文件夹 参考博客:https://www.cnblogs.com/lclq/p/5741852.html. 使用cat命令创建新文件: 输入命令 # ca ...
- Linux常用命令--文件操作、权限设置
1.编辑文件 cat aaa.txt 查看aaa.txt文件的内容 head - aaa.txt 查看aaa.txt文件前5行的内容 tail - aaa.txt 展示aaa.txt文件最后10行的内 ...
- C++常用的文件操作路径函数
shlwapi.dll中的实用API函数发布 在windows system目录下有这个动态链接库 BOOL PathFileExists(LPCTSTR lpszPath)功能:检查文件/路径 ...
- Java常用文件操作-2
上篇文章记录了常用的文件操作,这里记录下通过SSH服务器操作Linux服务器的指定路径下的文件. 这里用到了第三方jar包 jsch-0.1.53.jar, jsch-api 1.删除服务器上指定路径 ...
- 【阅读笔记】《C程序员 从校园到职场》第六章 常用文件操作函数 (Part 1)
参考链接:https://blog.csdn.net/zhouzhaoxiong1227/article/details/24926023 让你提前认识软件开发(18):C语言中常用的文件操作函数总结 ...
- go语言中常用的文件和文件夹操作函数
package main; import ( "os" "log" "time" "fmt" ) //一些常用的文件操作 ...
- python中常用的文件和目录操作(一)
常用的文件操作 1. 打开文件 open,它是一个内置函数,可以直接调用 语法:file object = open(file_name, [access_mode]),这里我们会创建一个file对象 ...
随机推荐
- 零基础入门Vue之影分身之术——列表渲染&渲染原理浅析
听我说 从 条件渲染 那一篇,我学习到了如何用Vue对dom节点根据条件显示 但单单有条件还不够啊,有时候数据是一大坨一大坨的数据,如果Vue不提供咱要么使用"v-html" 要么 ...
- ehlib组件包当中TDBLookupComboboxEh的小结
TDBLookupComboboxEh和TDBGridEh一样强大无比,可以做出Combobox下拉出Grid的效果.下面是一些重要属性的小结(可怜费了我半天功夫,文档太少了.......)(1)Li ...
- MySQL的CTE(公用表表达式)
(一)概念 MySQL的CTE是在MySQL8.0版本开始支持的,公用表表达式是一个命名的临时结果集,仅在单个SQL语句(例如select.insert.delete和update)的执行范围内存在. ...
- 听说有 Hugging Face 陪伴的春节,是这样的…
辞旧迎新春节到,家家户户好热闹.Hugging Face 中国团队成员祝各位社区成员们新春快乐,万事如意! 过去的一年我们持续看到 AI 技术的腾飞和发展,以及诸多机构为开源 AI 作出巨大的贡献.非 ...
- Yum安装的Nginx安装新模块解决办法
Nginx版本1.22 Yum安装 Step1 去官网下载对应版本的源码包 Nginx源码包官网下载地址 Step2 上传到服务器 tar -xf nginx-1.22.1.tar.gz cd ngi ...
- JS Leetcode 33. 搜索旋转排序数组题解,图解旋转数组中的二分法
壹 ❀ 引 本来今天(2021.4.7)的每日一题是81. 搜索旋转排序数组 II,但今天工作很忙,下班人基本累个半死,题目别说按照二分法的思路做不出来,连题解看了会都没法沉下心去看,不过得到的信息是 ...
- JS Leetcode 74. 搜索二维矩阵题解分析,二分法与坐标轴法
壹 ❀ 引 本题来自Leetcode74. 搜索二维矩阵,虽然难度是中等,但如果站在做出来的角度,你会发现其实并不难,题目描述如下: 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值. ...
- .NET周刊【2月第1期 2024-02-04】
祝大家新年快乐,龙年大吉~ 国内文章 C#/.NET/.NET Core优秀项目和框架2024年1月简报 https://www.cnblogs.com/Can-daydayup/p/18000401 ...
- NC53079 Forsaken喜欢数论
题目链接 题目 题目描述 Forsaken有一个有趣的数论函数.对于任意一个数 \(x\) , \(f(x)\) 会返回 \(x\) 的最小质因子.如果这个数没有最小质因子,那么就返回0. 现 ...
- 微信小程序云开发项目-个人待办事项-01介绍
项目简介 这个小程序项目做的是个人待办事项管理小程序,也就是大家常见的todo类程序.做这个程序主要是为了演示如何快速得学习到微信小程序一些基本得组件.路由.云函数开发技巧.有需要的朋友可以拿去自己改 ...