- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C文件输入输出流
C++文件输入输出流
文件操作在操作系统的底层中十分复杂。然而,C++已经为我们做了文件操作的绝大部分工作。程序员只要以流的概念来实施文件操作即可。
文件有两种,一种是文本文件,其内容总是与字符码表(如ASCII码)对应。另一种是二进制文件,可以将内容看成0/1串。
本次课我们只讨论C++中文本文件的读写。
文件输入流类 ifstream
I ifstream是文件输入流类的类名。定义一个该类的对象,即可将该对象和一个文件建立联系。例如,
ifstream fin(“a.txt”)
表示定义一个文件输入流类的对象fin,并将该对象与当前目录下的a.txt文件建立联系,以后可以用该对象从a.txt中读取数据。
【例1 按行读取一个文本文件的所有内容,并输出到屏幕。】
#include iostream
#include fstream //使用ifstream类需要包含头文件 fstream
#include string //使用string类需要包含头文件 string
using namespace std;
int main()
{
ifstream fin(in.txt); //默认打开文本文件
string str;
while (getline(fin, str))
{
coutstrendl;
}
return 0;
}
getline(fin, str)表示从输入文件流中读入一行数据,放入string类型的变量str中。由于整行整行地读入,读入到str中时,文件中的每个换行符都被丢掉了。为了照文件原样输出,在cout流上输出str的同时,还要再补上一个回车符。
许多输入/输出语句都能返回操作状态(true或false),例如
if (cina)
couta; //若读入失败,则跳过couta;
if (getline(in, str)
coutstr; //若读入失败,则跳过coutstr;
if (cin)
cina; //若文件流状态正常,则输入
所以在循环读入数据时,常常将读入操作放在循环的条件判断上,这样既省事,又明白。
【例2 从文本文件中读取整数。假设有文本文件a.txt,其内容如下:
输出其中所有的偶数。】
#include iostream
#include fstream //使用ifstream类需要包含头文件 fstream
using namespace std;
int main()
{
ifstream in(a.txt);
int x;
while (inx)
{
if (x % 2 == 0)
coutxendl;
}
return 0;
}
【例3 从文本文件中读取不同类型的数。假设有文本文件a.txt,其内容如下:
该文件第一行的整数n表示接下来会有n行数据。统计其中所有同学的平均年龄和平均身高。】
#include iostream
#include fstream //使用ifstream类需要包含头文件 fstream
#include string
using namespace std;
struct student
{
int num;
string name;
int age;
double height;
};
int main()
{
ifstream fin(a.txt);
student *stu;
int size;
double aveAge = 0, aveHeight = 0;
finsize;
stu = new student[size];
int i;
for (i = 0; i size; i++)
{
finstu[i].numstu[i].namestu[i].agestu[i].height;
aveAge += stu[i].age;
aveHeight += stu[i].height;
}
aveAge /= size;
aveHeight /= size;
cout平均年龄:\taveAgeendl;
cout平均身高:\taveHeightendl;
return 0;
}
文件输出流类 ofstream
ofstream是文件输出流类的类名。定义一个该类的对象,即可将该对象和一个文件建立联系。例如,
ofstream fout(“a.txt”)
表示定义一个文件输出流类的对象fout,并将该对象与当前目录下的a.txt文件建立联系,以后可以用该对象向a.t
您可能关注的文档
- 辽宁省台安县2013-2014学年八年级数学上学期第一次月考试题.doc
- 辽宁省台安县2013-2014学年八年级生物上学期第一次月考试题.doc
- 辽宁省台安县2013-2014学年八年级数学上学期期中试题.doc
- 辽宁省台安县2013-2014学年八年级英语上学期期中试题.doc
- 辽宁省台安县2013-2014学年八年级语文上学期第一次月考试题.doc
- 辽宁省台安县2013-2014学年八年级语文上学期期中试题.doc
- 辽宁省台安县2013-2014学年度七年级生物上学期期中试题.doc
- 辽宁省台安县2013-2014学年度上学期七年级数学第一次月考试题人教版.doc
- 辽宁省台安县2013-2014学年度九年级英语上学期期中试卷.doc
- 辽宁省台安县2013年七年级(下)期中考试数学试题(含答案).doc
- DJG330523_T 052-2024 青年入乡发展规范.docx
- DJG330503_T 36-2024 道教正一派驻观管理规范.pdf
- DJG330212_T 031-2023 党政机关单位节能管理规范.docx
- DJG330521_T 95-2023 智能温室番茄栽培物联网气象调控技术规范.docx
- DB14_T 2557.5-2025 水利工程质量管理规范 第5部分:质量检测机构.pdf
- DJG330503_T 37-2024 乡镇(街道)信访民意收集联络点运行规范.pdf
- DJG330281_T 31-2024 千层塔扦插育苗技术规程.docx
- DJG330424_T 73-2023 党群创业服务规范.pdf
- DJG330424_T 78-2024 长期护理服务风险防范技术规范.pdf
- DJG330502_T 012-2023 童装产业分层分类分级质量提升工作规范.pdf
文档评论(0)