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对象 ...
随机推荐
- Cpu是如何选择线程的?
Cpu是如何选择线程的? linux中线程存放格式 linux中线程与进程对应的结构体都是task_struct 唯一不同的点在于线程存放的东西少了点(由于一个进程中的线程们是共享一定数据的那些东西就 ...
- RedHat Enterprise Linux 8.0终端命令界面字体放大缩小
一.打开RedHat的终端命令界面. 二.放大界面中字体,Ctrl + Shit + "+" 三.缩小界面中字体,Ctrl + "-"
- NC16466 [NOIP2015]信息传递
题目链接 题目 题目描述 有 n 个同学(编号为 1 到 n)正在玩一个信息传递的游戏.在游戏里每人都有一个固定的信息传递对象,其中,编号为 i 的同学的信息传递对象是编号为Ti的同学. 游戏开始时, ...
- NC19996 [HAOI2015]树上染色
题目链接 题目 题目描述 有一棵点数为N的树,树边有边权.给你一个在0~N之内的正整数K,你要在这棵树中选择K个点,将其染成黑色,并将其他的N-K个点染成白色. 将所有点染色后,你会获得黑点两两之间的 ...
- ARM指针寄存器——堆栈指针寄存器SP、程序计数器PC、连接寄存器LR详解
堆栈的实现方法 在随机存储器区划出一块区域作为堆栈区,数据可以一个个顺序地存入(压入)到这个区域之中,这个过程称为'压栈'(push ).通常用一个指针(堆栈指针 SP-StackPointer ...
- Linux IOS镜像中查看Kernel 版本号
开ISO镜像,到rpm包的目录里面去找到kernel-********.RPM这个包,中间的星号那一段就是内核版本
- VueRouter导航守卫
VueRouter导航守卫 vue-router提供的导航守卫主要用来通过跳转或取消的方式守卫导航,简单来说导航守卫就是路由跳转过程中的一些钩子函数,路由跳转是一个大的过程,这个大的过程分为跳转前中后 ...
- C++ 快速加载 Dll 里的 API
最近项目里要重新编写程序加载器,也就是编译出一个可执行文件,在 Windows 上是 .exe 为什么要程序加载器? 个人理解是,可执行文件大小最好是越小越好,功能都可以由 dll 文件执行 而程序加 ...
- 网络上收集的C++常见面试题
1. 进程与线程的关系,图解 进程简单理解就是我们平常使用的程序,进程拥有自己独立的内存空间地址,拥有一个以上的线程. 线程可以理解为轻量级的进程,是程序执行的最小单元.在某个进程启动后,会默认产生一 ...
- 【Azure App Service for Container】记一次拉取镜像失败的特殊情况
问题描述 使用Azure App Service For Container 拉取 应用镜像,发现拉取失败. 错误消息: "Image pull failed since Inspect i ...