标准输入输出流与文件输入输出流的关系图:
文件输出流头文件“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();
} */
原文链接: https://www.cnblogs.com/WE-ON-LINE/p/11821386.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/305621
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!