C++->输入输出文件流的相关函数
标准输入输出流与文件输入输出流的关系图:
文件输出流头文件“ofstream/fstream”,文件输入流头文件“ifstream/fstream”
1.1.打开文件方式:流类 对象名(文件名,方式); //文件路径填写方式"D\\新建文件夹\\X目录\\Y.bat";
1.2.打开文件用 对象名.open(文件路径,ios::in); //以输出流/读方式打开文件;
1.3.打开文件用 对象名.open(文件路径,ios::in); //以输入流/写方式打开文件;
1.4.打开文件用 对象名.open(文件路径,ios::in|ios::out); //以输入输出流/读写方式打开文件;
1.5.打开文件用 对象名.open(文件路径,ios::app); //以追加/写方式打开文件;
1.6.打开二进制文件 对象名.open(文件路径,ios::binary|ios::in|ios::out);
2.关闭文件用 对象名.close();
3.1.判断文件结束符 对象名.eof();
3.2.判断文件结束语句 long posEnd=对象名.tellg/p(); while(对象名.tellg/g()!=posEnd);
4.1.这里的从磁盘读取一行数据到“输入文件缓冲区”用 文件对象名.getline(字符串变量,字符串长度)函数
4.2.istream类的公有成员函数
函数 功能 函数 功能
read 无格式输入指定字节数 gcount 统计最后输入的字符个数
get 从流中提取字符,包括空格 eatwhite 忽略前导空格
getline 从流中提取一行字符 seekg 移动输入流指针
ignore 提取并丢弃流中指定字符 tellg 返回输入流中指定位置的指针值
peek 返回流中下一个字符,但不从 operator>> 提取运算符
流中删除
4.3.ostream类的公有成员函数
函数 功能 函数 功能
put 无格式,插入一个字节 seekp 移动输出流指针
write 无格式,插入一个字节列 tellp 返回输出流中指定位置的指针值
flush 刷新输出流 operator<< 插入运算符
例子:
//1. 新建并录入数据到文件
#include<iostream.h>
#include<stdlib.h>
#include<fstream.h>
void main(){
fstream iofs;
char *p,str[80],str1[80];
p=&str[1];
cin>>p;
iofs.open(p,ios::in|ios::out);
if(!iofs){ cout<<"Open iofs error!"<<endl; return ; }
while(cin>>str&&!iofs.eof()){
iofs<<str<<endl; }
iofs.close();
}
//2. 显示文件里的内容,判断文件结束符为iofs.eof()函数
/*
#include<iostream.h>
#include<stdlib.h>
#include<fstream.h>
void main(){
fstream iofs;
char *p,str[80],str1[80];
p=&str[1];
cin>>p;
iofs.open(p,ios::in);
iofs.getline(str1,80);
//do{ cout<<str1<<endl; iofs.getline(str1,80); }while(!iofs.eof());
while(!iofs.eof()){ cout<<str1<<endl; iofs.getline(str1,80); }
}*/
//3.追加数据到文件
/*
#include<iostream.h>
#include<stdlib.h>
#include<fstream.h>
void main(){
fstream iofs;
char *p,str[80],str1[80];
p=&str[1];
cin>>p;
iofs.open(p,ios::app);
if(!iofs){ cout<<"Open iofs error!"<<endl; return ;}
while(cin>>str){
iofs<<str<<endl; }
iofs.close();
} */
C++->输入输出文件流的相关函数的更多相关文章
- C++ 输入输出文件流(ifstream&ofstream)
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O, ...
- c语言中的文件流
一.打开和关闭文件 #include int main( void ) { FILE* pReadFile = fopen( "E:\\mytest.txt", "r&q ...
- ca76a_c++_流文件打开输入输出文件模式p773
/*ca76a_c++_流文件打开输入输出文件模式利用文件流打开文件进行输入与输出时的选项in.out.app(附加模式).ate((end)文件打开后,定于文件结尾).trunc(裁剪).binar ...
- java 输入输出IO流 RandomAccessFile文件的任意文件指针位置地方来读写数据
RandomAccessFile的介绍: RandomAccessFile是Java输入输出流体系中功能最丰富的文件内容访问类,它提供了众多的方法来访问文件内容,它既可以读取文件内容,也可以向文件输出 ...
- Java总结——文件&流
最近学习了Java的输入输出,脑子里有两点乱,不过比之前的思路好像清晰了很多.脑子刚刚接收这些信息的时候,整个就是懵逼的,又是文件又是流的,文件到底干嘛的,流到底干嘛的?恩,后来,想了想,其实也不难理 ...
- C++文件流类与文件流对象
文件流是以外存文件为输入输出对象的数据流.输出文件流是从内存流向外存文件的数据,输入文件流是从外存文件流向内存的数据.每一个文件流都有一个内存缓冲区与之对应. 请区分文件流与文件的概念,不用误以为文件 ...
- C++学习47 文件的概念 文件流类与文件流对象 文件的打开与关闭
迄今为止,我们讨论的输入输出是以系统指定的标准设备(输入设备为键盘,输出设备为显示器)为对象的.在实际应用中,常以磁盘文件作为对象.即从磁盘文件读取数据,将数据输出到磁盘文件.磁盘是计算机的外部存储器 ...
- java的文件流:字节流(FileInputStream、FileOutputStream)和字符流(FileReader、FileWriter)。
java的输入输出建立在4个抽象类的基础上:InputStream.OutputStream.Reader.Writer.InputSream和OutputStream被设计成字节流类,而Reader ...
- c#基础语言编程-文件流操作
引言 在System.IO 命名空间下提供了一系列的类,我们可以通过相应的类进行文件.目录.数据流的操作. 1.File类:提供用于创建.复制.删除.移动和打开文件的静态方法.File类 2.File ...
随机推荐
- virtualenv 指定 python 解释器的版本
使用如下命令为 ubuntu 系统安装 virtualenv sudo apt-get install python-virtualenv 当我们使用 virtualenv 命令创建虚拟环境时,默认使 ...
- AI产品经理工作流程——需求分析和产品设计
1.AI产品设计常见失败原因 技术驱动产品设计,即我有什么技术就做什么产品.尽管许多公司不惜重金招聘高级AI算法工程师,确实这样也能帮助企业拿到大量的融资,但也容易给公司带来技术决定产品设计的局限.然 ...
- 动手学习pytorch——(2)softmax和分类模型
内容太多,捡重要的讲. 在分类问题中,通常用离散的数值表示类别,这里存在两个问题.1.输出值的范围不确定,很难判断值的意义.2.真实标签是离散值,这些离散值与不确定的范围的输出值之间的误差难以衡量. ...
- SpringBoot2.x操作缓存的新姿势
一.介绍 spring cache 是spring3版本之后引入的一项技术,可以简化对于缓存层的操作,spring cache与springcloud stream类似,都是基于抽象层,可以任意切换其 ...
- 文件传输协议-FTP
一.FTP概述 FTP(File Transfer Protocol 文件传输协议)C/S结构的应用层协议.由服务端和客户端两个部分共同实现文件传输功能 FTP服务器普遍部署于内网中,具有容易部署.方 ...
- 吴恩达deepLearning.ai循环神经网络RNN学习笔记_没有复杂数学公式,看图就懂了!!!(理论篇)
本篇文章被Google中国社区组织人转发,评价: 条理清晰,写的很详细! 被阿里算法工程师点在看! 所以很值得一看! 前言 目录: RNN提出的背景 - 一个问题 - 为什么不用标准神经网络 - RN ...
- Memcache 安装配置使用
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载. ...
- web渗透步骤流程
2013-11-13 23:03 (分类:网络安全) 这篇流程写的非常细,思路上很完整很全面,非常值得参考,做渗透思路要非常清晰,要不然我感觉真的容易乱,或者漏掉一些可能存在的点. 1.渗透目标 渗透 ...
- PgSQL备份
SQL转储. 这里我们用到的工具是pg_dump和pg_dumpall. 这种方式可以在数据库正在使用的时候进行完整一致的备份,并不阻塞其它用户对数据库的访问.它会产生一个脚本文件,里面包含备份开始时 ...
- bootstrap--网格化布局
1.响应式网格系统随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列 2.规则 行必须放置在 .container class 内,以便获得适当的对齐(alignment)和内边距 ...