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对象 ...
随机推荐
- 深入浅出Java多线程(七):重排序与Happens-Before
引言 大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第七篇内容:重排序与Happens-Before.大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!! 在上一篇文章 ...
- [Spring 6.0源码解析] @Configuration注解源码解析
Spring 6.0源码解析之@Configuration 首先写一个启动代码: public class ConfigurationAnnotationTest { private static f ...
- SQLServer复制表及数据的两种方法
1.新表不存在(即复制数据的同时创建与旧表相同结构的新表): select [col1,col2,col3...] into new_table from old_table where 1= ...
- 【开工大吉】推荐4款开源、美观的WPF UI组件库
前言 经常有小伙伴在技术群里提问:WPF有什么好用的UI组件库?,今天大姚给大家推荐4款开源.美观的WPF UI组件库. WPF介绍 WPF 是一个强大的桌面应用程序框架,用于构建具有丰富用户界面的 ...
- 从零开始手写 mybatis (三)jdbc pool 从零实现数据库连接池
前景回顾 第一节 从零开始手写 mybatis(一)MVP 版本 中我们实现了一个最基本的可以运行的 mybatis. 第二节 从零开始手写 mybatis(二)mybatis interceptor ...
- bootstrap与javascript
1.bootstrap依赖 bootstrap依赖javascript类库,jQuery 下载jQuery,在页面上应用jQuery 在页面上应用bootstrap的js类库 <script s ...
- golang常用库包:redis操作库go-redis使用(01)-Redis数据类型简介和连接Redis的几种方式
第一篇:go-redis使用,介绍Redis基本数据结构和其他特性,以及 go-redis 连接到Redis(本篇) https://www.cnblogs.com/jiujuan/p/1720716 ...
- 【LeetCode二叉树#11】最大二叉树(构造二叉树)
最大二叉树 力扣题目地址(opens new window) 给定一个不含重复元素的整数数组.一个以此数组构建的最大二叉树定义如下: 二叉树的根是数组中的最大元素. 左子树是通过数组中最大值左边部分构 ...
- 【Azure Redis 缓存】Redis连接无法建立问题的排查(注:Azure Redis集成在VNET中)
问题描述 在Azure App Service中部署的应用,需要连接到Redis中,目标Redis已经集成了虚拟网络(VNET)并且在Redis的网络防火墙中已经添加App Service的出站IP地 ...
- 【Azure Developer】使用 Azure VM 上的用户分配托管标识访问 Azure Key Vault 中国区代码示例
问题描述 在Global版本的Azure Key Vault 文档中,有一节介绍在Azure VM中使用标识获取访问令牌,调用Key Vault中的资源.但是在示例中,只有curl的命令执行,而没有代 ...