学习笔记:文件

因为有的数据,数据量极大。或者是你想把编译输出的内容存储起来,就可以使用文件

读文件中内容具体操作

 来自C语言详解 FILE文件操作 - 知乎 (zhihu.com)

写入文件具体操作

同样来自 C语言详解 FILE文件操作 - 知乎 (zhihu.com)

当文件关闭时,缓冲区(Buffer)中的信息会被写入磁盘中,也就是写入文件中

来自C++ open 打开文件(含打开模式一览表) (cdsy.xyz) 

 使用文件时要包含头文件 fstream

 创建一个文件流对象(file stream)File

利用这个流对象打开0808.txt,如果没有成功打开,输出打开失败 并立刻退出

注意:打开文件是有可能失败的

向文件0808.txt中写入“向文件中写入内容这一句话”

关闭文件  释放缓冲区 回收资源

以上是使用文件的基本流程

我们是没有设置文件路径的,于是以这种方式会在当前目录打开

如果当前目录下没有这个文件

 写入时会创建一个新文件0808.txt在cpp的路径下

 

注意,只有以这种方式写入时才会创建新文件,读入文件时并不会创建

如果读入时没有这个文件,将打开失败

 

 从0808.txt中读文件,写入0801.txt中

inFile成功读取,返回值为真,可用作条件判断

如果需要将文件保存为二进制格式,用binary

写ios::out|ios::binary 读ios::in|ios::binary

想打开什么类型的文件自己设置后缀 如txt文件=文件名+txt 

csv文件=文件名+csv

二进制文件的读写

读文件:

使用istream&read(char *buff,int count);这个函数会逐个字节读取二进制文件中的内容

buff是文件被读取后存放的位置,count是读取的个数

函数的作用:从文件的当前位置读count字节,存放待buff中

写文件:

写文件的方法:ostream &write(char * buff, int count):

作用: 将buff开始的count字节写到文件的当前位置

也就是将buff中的内容写入文件中,写入数量为count

 

 

 上面的函数是告诉文件当前的位置(想象有一个指针指向当前位置)

seekg是输入用(get)seekp是输出用(put)

mod选定beg(begin) 是指向开头 其他同理 

 

取时间序列就是取时间戳

 这个功能是将360度分成36000份,每份给个对应的二进制存入文件sinlist中

取出dVal的首地址,因为&dVal是double类型的指针,所以要强制将其转化为char类型的指针

每个dVal 是double类型,故写入相应的字节

File.seekp(3000*sizeof(double),ios::beg)是从开头查找,找到30度对应的文件

File.read是读出在上面找到的位置的文件

然后利用输出就可以找到sin30°的值了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值