入门到理解之文件操作文本文件的读写二
原文地址http:www。javayihao。topdetail168
一:概述
1。程序在运行中产生的数据都是临时数据,程序一旦运行结束会被释放,可以通过文件相关的操作将数据持久保存。
2。文件类型有文本文件(文件以文本的ASCLL码形式存储在计算机中)和二进制文件(文件以文本的二进制形式存储在计算机中,用户一般直接读不懂他们)。
3。C中对文件操作需要包含头文件lt;fstreamgt;,涉及到的三大文件操作类:ofstream写操作类;ifstream读操作类;fstream读写操作类。lt;fstreamgt;
二:文本文件读写操作
写文件
第1步:包含头文件includelt;fstreamgt;lt;fstreamgt;
第2步:创建流对象ofstreamofs
第3步:打开文件ofs。open(文件路径,打开方式)
第4步:写文件ofsamp;lt;amp;lt;写入数据
第5步:关闭文件ofs。close()
注意:
1。文件的打开方式
2。打开方式可以通过操作符配合使用,如打开二进制写文件ios::binaryios:out
3。创建流对象ofstream也可以选择fstream读写类
案例代码
includelt;iostreamgt;lt;iostreamgt;
usingnamespacestd;
第1步
includelt;fstreamgt;intmain(){lt;fstreamgt;
第2步ofstreamofs;
第3步当前同级目录生成test文件
ofs。open(test。txt,ios::app);
第4步
ofsamp;lt;amp;lt;helloword;
第5步
ofs。close();
}
读文件
第1步:包含头文件includelt;fstreamgt;lt;fstreamgt;
第2步:创建流对象ifstreamifs
第3步:打开文件ifs。open(文件路径,打开方式)判断是否打开成功,打开方式和上面写文件一样
第4步:读数据
第5步:关闭文件ifs。close()
案例代码
includelt;iostreamgt;lt;iostreamgt;
usingnamespacestd;
第1步
includelt;fstreamgt;lt;fstreamgt;
voidtest(){
第2步
ifstreamifs;
第3步
ifs。open(test。txt,ios::in);if(!ifs。isopen()){
coutamp;lt;amp;lt;文件打开失败;return;
}
第4步
charbuf〔1024〕{0};
字符数组初始化为0
while(ifsamp;gt;amp;gt;buf){
循环全部读完
coutamp;lt;amp;lt;bufamp;lt;amp;lt;endl;}
第5步
ifs。close();}
intmain(){
test();}
注意:第4步读数据方式有四种。其他三种如下
第二种
charbuf〔1024〕{0};
while(ifs。getline(buf,sizeof(buf))){一行一行读取
coutamp;lt;amp;lt;bufamp;lt;amp;lt;endl;
}
第三种
includelt;iostreamgt;lt;iostreamgt;
includelt;stringgt;lt;stringgt;
usingnamespacestd;
第1步
includelt;fstreamgt;voidtest(){lt;fstreamgt;
第2步
ifstreamifs;
第3步
ifs。open(test。txt,ios::in);
if(!ifs。isopen()){coutamp;lt;amp;lt;文件打开失败;return;
}
第4步
stringbuf;
while(getline(ifs,buf)){
使用string中的全局函数getline一行行读取,需要导入string头文件
coutamp;lt;amp;lt;bufamp;lt;amp;lt;endl;}
第5步
ifs。close();}
intmain(){
test();}
第四种
includelt;iostreamgt;lt;iostreamgt;
usingnamespacestd;
第1步
includelt;fstreamgt;lt;fstreamgt;
voidtest(){
第2步
ifstreamifs;
第3步
ifs。open(test。txt,ios::in);
if(!ifs。isopen()){
coutamp;lt;amp;lt;文件打开失败;return;
}
第4步
charc;
while((cifs。get())!EOF){一个一个字符读取、效率不高
coutamp;lt;amp;lt;c;}
第5步
ifs。close();}
intmain(){
test();}
三:二进制文件读写操作
1。二进制方式对文件操作,打开方式指定为ios::binary,二进制文件不仅可以对内置数据类型的数据操作,还可以对对象类型操作。
2。写入的二进制文件出现乱码不用处理,只要读到的正确即可
写文件
includelt;iostreamgt;usingnamespacestd;lt;iostreamgt;
第1步头文件
includelt;fstreamgt;lt;fstreamgt;
classperson{
public:
charname〔54〕;涉及到字符串读写,不要使用c的string,而是用c的char
intage;};
voidtest(){
第2步流对象
ofstreamofs;
第3步打开文件
ofs。open(test。txt,ios::outios::binary);
第4步写文件
personp{李四,12};
ofs。write((constchar)amp;amp;p,sizeof(p));
第5步关闭
ofs。close();}
intmain(){
test();}
读文件
includelt;iostreamgt;lt;iostreamgt;
usingnamespacestd;
第1步
includelt;fstreamgt;lt;fstreamgt;
classperson{
public:
charname〔54〕;
intage;
};
voidtest(){
第2步
ifstreamifs;
第3步
ifs。open(test。txt,ios::inios::binary);
if(!ifs。isopen()){
coutamp;lt;amp;lt;文件读取失败;return;}
第4步
personp;
ifs。read((char)amp;amp;p,sizeof(p));
coutamp;lt;amp;lt;p。nameamp;lt;amp;lt;p。age;
第5步
ifs。close();}
intmain(){
test();}
六岁步入婚姻殿堂的大汉太皇太后西汉昭帝皇后上官小妹自述阳春三月,乍暖还寒。古来没有哪个女人像我这样,六岁便要步入婚姻的殿堂。十二岁的郎君汉昭帝刘弗陵,身着龙袍,端坐在宝座上,文武百官分列东西两厢……
男女爱爱谁更累关于爱爱后谁更累的话题也争论不休。那么,男女爱爱,谁更累呢?下面就让我们开始说道说道吧。01:hr男性的自白爱爱是个体力活,体力若跟不上,那身体不是分分……
女生觉得男生娘细节你中了几条女生觉得男生娘的细节关于女生定义男生娘的标准,每个女生都有所不同。比如争议较大的小鲜肉,有的女生会觉得娘而不喜欢,有的女生却觉得赏心悦目,甚至看到很多man的一一面。……
野餐小常识旅游中,家人或朋友们若能一起在野外会餐,大家席地而坐,谈笑风生,真是别有一番风味和情趣。但在野外进餐时一定要注意卫生。1地点应选择在平坦、干净、背风、向阳的草坪、岩石上或……
形容冬天的四字词语有需要的小伙伴赶快收藏起来吧小编在本文中为大家整理了描写冬天的四字词语,有需要的小伙伴赶快收藏起来吧!描述冬天的四字词语及解释1、玉树琼枝:白雪覆盖的树。2、大雪盈尺:形容雪堆积的很厚。……
夏季怎么预防脑血管疾病高发夏天之所以脑血管病高发,主要是因为炎热所致:1。诱发血压波动,极易导致脑血管破裂;2。导致情绪紧张,人体内应激反应增强,使脑血管疾病发作;3。人体内大量水分蒸发,血液黏稠度上升……
豆瓣绿怎样修剪最漂亮豆瓣绿在平时的修剪过程中,在进行换盆的时候要结合修剪进行,主要将根球周围的烂根和枯根剪掉,此外当植株长有10公分的时候进行摘心处理,以控制株型的高度,还要将长的很高的枝条进行短……
社交交互体验报告手机端社交VR这种新型的社交方式确实让人耳目一新,在AltspaceVR里面,我可以直接用语音跟别人交流,可以参加各种实时社交活动。一、产品概述1、体验环境产品名称……
商品评论的模式本文想表达的主要意思是,目前电子商务网站的商品评论系统的门槛都太高,不利于调动用户点评的积极性,作为产品设计师应该想办法来降低这个成本,让更多用户更自愿的去评论。这是再次……
洪水后水稻的危害及其补救措施由于气候原因,水稻经常生长并遇到各种危害。例如,2003年高邮和湖北2016年,当地水稻生产遭受了各种程度的救灾。让我们了解小编淹水后水稻的特点和补救措施。1水稻淹水后的……
债权融资的含义是什么有关债权融资的含义,大家知道是什么?下面是小编整理的相关资讯,欢迎大家阅读与了解。所谓债权融资是指企业通过借钱的方式进行融资,债权融资所获得的资金,企业首先要承担资金的利……
容易导致夫妻争吵的家居风水近日来,几则夫妻争斗导致死伤的新闻令人感到触目惊心。俗话说床头吵架床尾和,夫妻间有时候难以避免争执,偶尔发生口角也很正常。但是再恩爱的夫妻,也经不住过分频繁的争吵。这几乎就成为……
公证调解制度的建构摘要:公证作为一项国际通行的预防性法律制度,具有服务、沟通、证明、监督的职能,公证有利于预防纠纷、减少诉讼。在构建多元化的纠纷解决机制中,公证调解机制作为社会大调解格局中的重要……
皮肤黄的女生穿好这件衣服最显白正所谓一白遮三丑,大多数小仙女们还是希望自己看起来更加白皙的。那么平时我们除了用妆容让自己看起来更白,还可以用什么办法让自己变得更加白皙呢?其实一个好看的穿搭,也会让你看……
影响莫言一生的八个母亲故事莫言的母亲,正像那个年代的全中国千千万万个母亲一样,不识字,没有读过书,更没有系统地学习过《教育学》、《心理学》和教学法,但这并不妨碍让这位母亲成为一名成功的教育家。因为,她心……
还魂记第十九节阿婆听到这些感到很新奇,自己如果还阳一定好好做人,好好行善,绝不为非作歹。尽自己所能好好在阳间行善积德。还要好好教育自己的孩子让他们知道只有好好做人才会有好报。他们正走在……
面试不是拼学历拼经历而是文Hardy公众号Hardy小脚板走职场(ID:hardyjob)授权四大事务所发布序很多人人面试被刷会把原因归因于以下两点(1)自己不是名校毕业……
导致大学生应聘失败的原因有哪些大学生应聘至关重要。那么对于大学生来说,哪些原因导致大学生应聘失败呢?有些大学生在总结自己应聘工作时,出现失败的原因主要是:太紧张。面对招聘人员,越想表现自己,就越不能把……
深蹲没你想的那么难解决这些问题正确完在健身这个过程中,练腿的重要性就不必多言。但是在实际训练中,许多健身者都对腿部训练避之不及,自我安慰说双腿部锻炼也可以。出现这种状况的根本原因就是练完双腿后,很少有健身者能承受……
个笑话顿悟个道理1、真实建筑师到达后,夫人建议他躺在床上,体会一下火车经过时的感觉。建筑师刚上床躺下,夫人的丈夫就回来了。他见此情形,便厉声喝问:你躺在我妻子的床上干什么?建……
饥饿的毛毛虫月光下,叶子上躺着一颗小小的蛋。星期天早上,太阳升起来,砰!从蛋里爬出来一条又小又饿的毛毛虫。他开始去找吃的。星期一吃了一个苹果,可还是好饿。星期二吃了两个梨子,可还是好饿。星……
女婿戏丈人从前,冉家庄有个冉员外,他虽有良田百顷,家财万贯,为人处世却吝啬得出奇,连对待女儿、女婿都十分刻薄。冉员外共有三个女婿,都住在十几里开外。大女婿是个秀才,二女婿是个风水先……
季羡林学会个道理过好这一生作者:季羡林曾见冰心老人为别人题座右铭:知足知不足,有为有不为。言简意赅,寻味无穷。特写短文两篇,稍加诠释。先讲知足知不足。01。知足中国有一句老话:知足常乐……
幸福的煎熬二十四意外介入这是一家挺出名的西餐厅,点餐服务的女子脚下踩着轮滑,带出一阵微风。餐厅里飘着音乐,优美的旋律轻轻荡漾,每一个在餐厅用餐的、喝茶或咖啡的客人都轻轻松松地享受着。杜小美真是这……