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对象 ...
随机推荐
- 扒开源安卓性能测试工具moblieperf源码——开发属于你自己的性能稳定性测试工具
moblieperf下载和使用 moblieperf由阿里巴巴开源的Android性能测试工具 下载:官方源码地址mobileperf github 使用: 使用pycharm打开下载的项目 使用只需 ...
- Ubuntu18.04 Server部署Flannel网络的Kubernetes
准备服务器 ESXi6.5安装Ubuntu18.04 Server, 使用三台主机, 计划使用hostname为 kube01, kube02, kube03, 配置为2核4G/160G, K8s要求 ...
- spring boot 2.0集成并使用redis
项目地址:https://gitee.com/indexman/spring_boot_in_action 前面一章介绍了spring boot自带的缓存,下面讲一下如何在2.0版本中集成并使用red ...
- 关于dpi awareness 的清单文件设置
要设置dpi 意识,一般是使用SetProcessDpiAwareness(PROCESS_PER_MONITOR_DPI_AWARE)来设置 具体可参考:Setting the default DP ...
- String - 一些测试(持续更新)
void main() { char *buffer = new char(1000); memset(buffer, 0, 1000); char buffer1[1000] = {}; buffe ...
- 多线程系列(八) -ReentrantLock基本用法介绍
一.简介 在之前的线程系列文章中,我们介绍到了使用synchronized关键字可以实现线程同步安全的效果,以及采用wait().notify()和notifyAll()方法,可以实现多个线程之间的通 ...
- MyBaits查询MySQL日期类型结果相差8个小时
问题描述 在Java项目中使用MyBatis作为ORM框架,但是查询出的MySQL日期类型字段值总是比数据库表里的值多8个小时. 具体说明: MySQL数据库表字段类型为timestamp,映射的Ja ...
- 矩池云如何自定义端口,访问自己的web项目
本文将给您介绍如何在矩池云租用服务器的时候自定义端口,并将您的 web 项目部署到自定义端口,最后实现在本地通过自定义端口对应链接访问服务. 上传代码和数据 首先,您需要将本地的项目代码和数据上传到矩 ...
- 在矩池云上使用R和RStudio
租用机器 在矩池云租用机器的时候,系统环境里搜索:R,选择 R4.2 镜像,如果需要使用RStudio,还需要在高级选项中新增一个自定义端口:8787,然后点击租用即可. 使用 JupyterLab ...
- 【Azure App Service】如何来停止 App Service 的高级工具站点 Kudu ?
问题描述 如何来停止 App Service 的高级工具站点 Kudu ? kudu 介绍 Kudu 提供了一组面向开发人员的工具和扩展点,用于您的应用服务应用程序. Kudu (Advanced T ...