有以下txt文档:
a, b, c, d,
1, 2, 3, 4
2, 4, 6, 8
3, 6, 6, 9
......
4, 5, 6, 9
注:文本文档中a代表一列的标题,它对应与1,2,3;b对应于2,4,6。
d,之后有一个回车换行符号。各个逗号之后有几个空格。
要求把以上数据以double读入数组中,关键问题是我不能预先知道到底有几组数据需要读入。
所以程序要求自动判断有几组数据,然后a,b,c,d就分别对应几组数据。
最后一组数据的最后一个数后面有一个回车。
要求用ifstream读入C++
并且在VC++中能工作。因为我试了一下,在C++中可以运行,但是到了VC++中就挂了。
(在VC++中做一个简单的button,按一下,就读入数据)......
高手帮忙~
数据是这样的:
Time, V, Ppj, Pps, Pj, Ps, deltaPj, deltaPs, Tj, Ts, Gj, Gs,
3.86, 0, 129.395, -15.2265, 101.833, -25.6052, 25.8532, 0, 14.0808, -82.3029, 42.5309, 0
3.85, 0, 129.948, -20.7693, 106.083, -34.7796, 25.6663, 0, 13.8123, -89.7308, 42.4872, 0
ifstream fin;
ofstream fout;
double temp[1000][13];
int num=0;
int i=0,j=0,u=0;
char ch[20];
fin.open(m_pathin);
fin.getline(ch,1000,'\n');
for(i=1;1;i++)
{
if(!fin.eof())
for(j=1;j<=12;j++)
{
if(j!=12)
{
fin.getline(ch,200,',');
temp[i][j]=atof(ch);
}
if(j==12)
{
fin.getline(ch,200,'\n');
temp[i][j]=atof(ch);
}
}
else
break;
}
u=i-2;
u是读入的数据的行数
问题:为什么u=i-2呢?为什么不是i或者i-1?按道理应该是i-1的......
高手请直接给各VC++的解答,我不关心第一行的字母,只关心下面的数据值。再详细解释一下eof的用法。。。。。。谢谢~
C++ 如何格式化读取txt文本文档
你先double shuzu[1000]={0};然后读取第一行数据,判断有多少个数,是a或是b不用管,数出数来存入shuzu[0],然后从第二行你依次读入数据,按次序存入shuzu,就行了,以后读时,得到第一个数,然后间隔取,就可以还原了。
C++中如何读取txt文档中的坐标数据?
std::cout << num << " " << x << " " << y << " " << z << "\\n"; } } std::cout << "总共" << cnt << "个坐标满足条件\\n"; return 0;}输入文件test.txt1 -0.3 0.4 0.82 0.4 1.2 0.93 0.8 0.4 -0.54 1.2 0.5 0.25 0.2 0.75...