前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >c++中fstream是什么意思_c++形式参数

c++中fstream是什么意思_c++形式参数

作者头像
全栈程序员站长
发布于 2022-11-04 10:57:22
发布于 2022-11-04 10:57:22
6860
举报

大家好,又见面了,我是你们的朋友全栈君。

初学C++ fstream

最近出于学习需要, 接触了一些C++的程序, 对于文件的操作, 在C++中的实现方法与C中有些不同,

现归纳如下:

C++中对文件的操作, 是围绕三种类型的文件流(ifstream, ofstream, ftream)进行的. 而这三种流

事实上是系统定义的类. 操作中, 首先使流与文件相关联, 通过流(也就是类成员)来完成对文件的操作.

文件使用完毕, 一定要关闭, 从而切断流与文件的关联, 否则可能会损坏文件.

在程序中要打开一个输入文件流, 对文件进行读操作, 必须说明类型为ifstream对象; 要打开一个输

出文件流, 对文件进行写操作, 必须说明类型为ofstream的对象; 要建立一个输入输出的流, 对文件进行

读写操作, 必须说明一个类型为ftream的对象.

1. 建立一个IO文件流有如下两种方式

1) 通过调用函数open()来实现

fstream test_file;

/** 以读写方式打开argv[1]指定的文件, 并将文件长度截为0*/

test_file.open(test, ios::in | ios::out | ios::trunc);

2) 在创建IO流的同时与文件相关联, 该操作自动打开文件

fstream test_file(test, ios::in | ios::out | ios::trunc);

open()函数的原型为:

void open(const char * szName, int nMode, int nPort = filebuf::openport);

其中第一个参数szName表示相关联的文件名, 第二个参数nMode表示文件的打开方式, 第三个参数

nPort是文件的保护方式, 用户不必理会. 关于第二个参数说明如下:

定义了下列打开模式和文件属性:

ios::app // 从后面添加

ios::ate // 打开并找到文件尾

ios::binary // 二进制模式 I/O (与文本模式相对)

ios::in // 只读打开

ios::out // 写打开

ios::trunc // 将文件截为 0 长度

ios::nocreat // 若文件不存在, 则打开失败

ios::noreplace // 若文件存在, 如果没有设置ate或者app, 那么打开失败

2. 对文件的读写操作

char *str = “hello, world!”;

char buf[100];

1) 对文件的读写, 可以通过write, read实现, 如:

test_file.write(str, strlen(str));

test_file.read(buf, sizeof(buf));

2) 也可以使用C++中的抽取操作符实现, 如:

test_file << str; // write str to file

test_file >> buf; // read to buf

3. 移动流的读写位置

移动读写位置可以通过seekg或是seekp实现:

1) test_file.seekg(10, ios::beg);

2) test_file.seekp(10, ios::beg);

seekp(seek put)用于ofstream对象, seekg(seek get)用于ifstream对象. 在fstream对象里, 二者

没有区别.

可以用下面的常量重新定位文件指针(第二个参数):

ios::beg // 文件开始位置

ios::cur // 当前位置,例如: ios::cur+5

ios::end // 文件尾

缺省状态为当前位置.

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/191852.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月19日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C++ fstream详解[通俗易懂]
C语言里面对文件的操作是通过文件指针,以及一些相关的函数,那么C++中是如何对文件进行操作的呢?没错,就是通过 fstream 这个文件流来实现的。当我们使用#include 时,我们就可以使用其中的 ifstream,ofstream以及fstream 这三个类了(ofstream是从内存到硬盘,ifstream是从硬盘到内存),也就可以用这三个类来定义相应的对象了,这三个类分别代表一个输入文件,一个输出文件,以及一个输入输出文件。Ifstream类支持>>操作符,ofstream类支持<<操作符,fstream类同时支持>>和<<操作符。
全栈程序员站长
2022/11/05
2.1K0
如何用C++做文件和流
⭐本文介绍⭐ 到目前为止,我们已经使用了 iostream 标准库,它提供了 cin 和 cout 方法分别用于从标准输入读取流和向标准输出写入流。
iOS Magician
2023/03/22
7000
f stream_fstream
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;
全栈程序员站长
2022/09/29
5000
c++读写文件的几种方法_include有什么用
在看C++编程思想中,每个练习基本都是使用ofstream,ifstream,fstream,以前粗略知道其用法和含义,在看了几位大牛的博文后,进行整理和总结:
全栈程序员站长
2022/11/04
1.3K0
c++读写文件的几种方法_include有什么用
[C++][基础]5_标准库类型
cerr << "error: unable to open the file: " << input << endl;
静默虚空
2022/05/10
2700
C++中文件读写操作
在 C++ 编程中,使用流提取运算符( >> )从文件读取信息,就像使用该运算符从键盘输入信息一样。唯一不同的是,在这里使用的是 ifstream 或 fstream 对象.
李小白是一只喵
2020/04/23
9730
C++中文件读写操作
f stream_Streaming
c++的文件流处理其实很简单,前提是你能够理解它。文件流本质是利用了一个buffer中间层。有点类似标准输出和标准输入一样。
全栈程序员站长
2022/09/28
2950
C++读写文本文件
C++简单读写文本文件 fstream提供了三个类,用来实现C++对文件的操作。 fstream  打开文件供读写 ofstream  向文件写入内容 ifstream  从已有的文件读 文件打开模式 ios::in  读 ios::out  写 ios::app  行文件末尾 ios::binary  二进制模式 ios::nocreate  打开一个文件时,如果文件不存在,不创建文件。 ios::noreplace  打开一个文件时,如果文件不存在,创建该文件。 ios::trunc  打开一个文件,然后清空内容。 ios::ate  打开一个文件时,将位置移动到文件尾。 文件指针位置在C++中的用法: ios::beg  文件头 ios::end  文件尾 ios::cur  当前位置 主要在seekg()函数中使用 常用的错误判断方法: good()如果文件打开成功 bad()打开文件时发生错误 eof()到底文件尾
卡尔曼和玻尔兹曼谁曼
2019/01/25
3K0
c++ fstream + string 处理大数据
起因 (1)之前处理文本数据时,各种清洗数据用的都是java的File,FileReader/FileWriter,BufferedReader/BufferedWriter等类,详见java读写文件 (2)应用java的原因是java里面的map非常灵活,eclipse编译器更是给力,而且ctrl可以追踪函数等,详见java map的排序 (3)应用java的另一个原因是java里面的string类的字符串处理非常灵活,各种函数是应用尽有。 (4)上面两点算是自己的误解吧,因为c++里面也有也有与之对应
CSDN技术头条
2018/02/08
2.4K0
c++ fstream + string 处理大数据
C++文件读写
在C++中,所有的输入输出操作大部分都继承自 ios_base 基类,详细的继承体系如下图所示
范中豪
2021/05/27
1.2K0
C++ IO库介绍及使用方式
IO 类型之间的关系 设备类型和字符大小都不会影响IO操作,我们可以使用 >> 读取数据,不用关系是从控制台窗口,一个磁盘文件还是一个 string 对象。也不用关心使用char对象去存储还是使用wchar_t对象去存储。 因为有继承机制和模板,我们可以忽略不同流之间的差异。
HeaiKun
2020/07/07
1.9K0
C++ 文件、流《Rice C++ 学习开发》
前面利用了三篇文章讲解了面向过程过程到面向对象语言的转变,以及对C++面向对象的内容进行了讲解,接下来将对C++的高级编程内容进行讲解。
Rice加饭
2022/05/09
5970
C++ 文件、流《Rice C++ 学习开发》
c++中fstream是什么意思_汽车配置参数图文详解
‍1,几个文件流类名称:fstream,ifstream,ofstream,iofstream
全栈程序员站长
2022/11/04
1.3K0
c++ 文件操作详解
C++ 通过以下几个类支持文件的输入输出: ofstream: 写操作(输出)的文件类 (由ostream引申而来) ifstream: 读操作(输入)的文件类(由istream引申而来) fstream: 可同时读写操作的文件类 (由iostream引申而来) 打开文件(Open a file) 对这些类的一个对象所做的第一个操作通常就是将它和一个真正的文件联系起来,也就是说打开一个文件。被打开的文件在程序中由一个流对象(stream object)来表示 (这些类的一个实例) ,而对这个流对象所做的任何
拾点阳光
2018/05/10
2K0
如何用C++做文件和流
⭐本文介绍⭐ 到目前为止,我们已经使用了 iostream 标准库,它提供了 cin 和 cout 方法分别用于从标准输入读取流和向标准输出写入流。
爱学iOS的小麦子
2023/05/09
6580
[C++][IO]fstream用法
void open(const char* filename,int mode,int access);
静默虚空
2022/05/07
9170
C++ fstream文件流读写文件操作详解
掌握文本文件读写的方法 了解二进制文件的读写方法C++文件流: fstream  // 文件流 ifstream  // 输入文件流 ofstream  // 输出文件流
horsley
2022/08/16
2.8K0
C++ 读写TXT文件
参考博客:https://blog.csdn.net/u013749068/article/details/78761553
全栈程序员站长
2022/08/22
8290
C++ 读写TXT文件
从零开始学C++之IO流类库(二):文件流(fstream, ifstream, ofstream)的打开关闭、流状态
s1mba
2017/12/28
3.2K0
从零开始学C++之IO流类库(二):文件流(fstream, ifstream, ofstream)的打开关闭、流状态
【C++学习】 IO 流揭秘:高效数据读写的最佳实践
🚀C++ IO 流(输入输出流)是一种用于处理数据流的机制,允许程序读取和写入数据。它包括
IsLand1314
2024/10/15
3510
【C++学习】 IO 流揭秘:高效数据读写的最佳实践
相关推荐
C++ fstream详解[通俗易懂]
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文