如何从一个txt文件的第二行开始读取数据?

我要从一个txt文件中读入数据,存储到CArray 变量中,我想从这个文件的第二行开始读,请问怎么解决呢?

程序如下:
CArray<double,double> arrayx;
CArray<double,double> arrayy;
fstream in("c:\\restw.dat",ios::out||ios::in);
while(!in.eof())
{

in>>xin>>yin;
arrayx.Add(xin);
arrayy.Add(yin);
i++;
}
第一行因为有0 和一个字符串,没有用,所以我不想读这个数。请问如何解决呢?

如果数据文件格式不复杂的话,用importdata比较简单,能够自动识别数据。假设文件名为data.txt,代码如下:
a=importdata('data.txt');
data=a.data;
如果比较复杂,importdata识别不准确的话,可以用textscan函数(MATLAB6.5没有这个)。假设文件名为data.txt,文件格式如下:
2011-03-17 21:45:11
AUV1 COMPASS
TIME HEADING PITCH ROLL
21:45:14.235 245.0 -8.6 32.6
21:45:14.455 245.6 -8.5 32.8
21:45:14.636 246.0 -8.4 32.7
21:45:14.856 246.6 -8.2 33.1

代码如下:
fid=fopen('data.txt');
data=textscan(fid,'%s %f %f %f\n','HeaderLines',3);
%%后面表示你要读取的格式,%s是字符,f是浮点数,中间用空格分开,‘HeaderLines’后面的数字表示文件头行数,这里是3行
fclose(fid);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-18
CArray<double,double> arrayx;
CArray<double,double> arrayy;
fstream in("c:\\restw.dat",ios::out||ios::in);
int lineNum=0;
while(!in.eof())
{
if(lineNum==0)
{
}
else
{
in>>xin>>yin;
arrayx.Add(xin);
arrayy.Add(yin);
i++;
}
lineNum++;
}
第2个回答  2014-03-04
CArray<double,double> arrayx;
CArray<double,double> arrayy;
fstream in("c:\\restw.dat",ios::out||ios::in);
int lineNum=0;
while(!in.eof())
{
if(lineNum==0)
{
}
else
{
in>>xin>>yin;
arrayx.Add(xin);
arrayy.Add(yin);
i++;
}
lineNum++;
}本回答被提问者采纳
相似回答