我是 C++ 的新手,我的程序有问题。我已经找了几个小时和几天,即使有很多类似的帖子,我也无法弄清楚为什么我的程序不起作用。
我有一个以这种方式包含数据的文件。
字符串浮点数
字符串整数
字符串浮点数浮点数
字符串整数
漂浮
漂浮 ...
所以前几行的第一列有字符串,其余的有数字,在某些时候只有浮点数。
我已经设法将数据增加到所有浮点数的开始位置,但我不知道如何将其余数字存储在数组中。(我知道用向量来做会容易得多,但我必须用数组来做)。
这就是我所做的。
void getData(string *ext, int size)
{
istringstream is(*ext);
float val;
is >> val;
float *arrVal = new float[10]; // I dont know the size of the Array.
if(typeid(val) == typeid(float)) //IM NOT SURE ABOUT THIS AT ALL. I JUST DON'T KNOW HOW TO GET TO THE LINE WHERE THERE ARE NO STRINGS
{
arr[size] = atof(*ext.c_str());
} // I think this part is why it does not work.
int main()
{
ifstream File("t.txt");
string line;
int nLines(0);
float *arrayValues = new float[12];
if(!inFile)
{
cerr << "Cannot open file." << endl;
return -1;
}
else
{
while(getline(File, line))
{
getValues(&line, nLines);
getPoints(&line); //this function gets the values of the first lines.
++nLines;
}
}
system("pause");
return 0;
}
所以基本上我必须弄清楚如何跳转到所有浮点数开始的行以及如何将它们存储在数组中。我确信有一堆错误。我希望你们能得到我想要做的。我真的到处找遍了,什么也找不到。
谢谢 !!