C++文件读写代码分享
编写一个程序,统计data.txt文件的行数,并将所有行前加上行号后写到data1.txt文件中。
算法提示:
行与行之间以回车符分隔,而getline()函数以回车符作为终止符。因此,可以采用getline()函数读取每一行,再用一个变量i计算行数。
(1)实现源代码
#include<iostream> #include<fstream> #include<string> #include<sstream> usingnamespacestd; intcoutFile(char*filename,char*outfilename) { ifstreamfilein; filein.open(filename,ios_base::in); ofstreamfileout; fileout.open(outfilename,ios_base::out); stringstrtemp; intcount=0; while(getline(filein,strtemp)) { count++; cout<<strtemp<<endl; fileout<<count<<""<<strtemp<<endl; } filein.close(); fileout.close(); returncount; } voidmain() { cout<<coutFile("c:\\data.txt","c:\\data1.txt")<<endl; }
再来一个示例:
下面的C++代码将用户输入的信息写入到afile.dat,然后再通过程序读取出来输出到屏幕
#include<fstream> #include<iostream> usingnamespacestd; intmain() { chardata[100]; //openafileinwritemode. ofstreamoutfile; outfile.open("afile.dat"); cout<<"Writingtothefile"<<endl; cout<<"Enteryourname:"; cin.getline(data,100); //writeinputteddataintothefile. outfile<<data<<endl; cout<<"Enteryourage:"; cin>>data; cin.ignore(); //againwriteinputteddataintothefile. outfile<<data<<endl; //closetheopenedfile. outfile.close(); //openafileinreadmode. ifstreaminfile; infile.open("afile.dat"); cout<<"Readingfromthefile"<<endl; infile>>data; //writethedataatthescreen. cout<<data<<endl; //againreadthedatafromthefileanddisplayit. infile>>data; cout<<data<<endl; //closetheopenedfile. infile.close(); return0; }
程序编译执行后输出如下结果
$./a.out Writingtothefile Enteryourname:Zara Enteryourage:9 Readingfromthefile Zara 9
以上所述就是本文的全部内容了,希望大家能够喜欢。