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
以上所述就是本文的全部内容了,希望大家能够喜欢。