相关文章
C++文件读写操作(三)如何统计文本的行数及如何读取文件某一行内容
//读取文件数据到临时数组
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int CountLines(char *filename)
{
ifstream ReadFile;
int n=0;
string tmp;
ReadFile.open(filename,ios::in);//ios::in 表示以只读的方式读取文件
if(ReadFile.fail())//文件打开失败:返回0
{
return 0;
}
else//文件存在
{
while(getline(ReadFile,tmp,'\n'))
{
n++;
}
ReadFile.close();
return n;
}
}
int main()
{
ifstream file;
int LINES;
char filename[512]="inFile.txt";
file.open(filename,ios::in);
if(file.fail())
{
cout<<"文件不存在."<<endl;
file.close();
}
else//文件存在
{
LINES=CountLines(filename);
int *tempInt=new int[LINES];
char *tempChar=new char[LINES];
int i=0;
while(!file.eof()) //读取数据到数组
{
file>>tempInt[i];
file>>tempChar[i];
i++;
}
file.close(); //关闭文件
for(i=0;i<LINES;i++)//输出数组内容
cout<<tempInt[i]<<"\t"<<tempChar[i]<<endl;
delete []tempInt;
delete []tempChar;
}
}