问题描述
我正在尝试从文本文件中读取double值,并将其存储在动态double数组中。 我的文件中有4个double值,每个值在换行符中。我正在使用while循环来遍历m_numbers的所有元素,并在其中存储一个double值。 while语句应该在第4次迭代后失败,但它正在进行5次迭代。这会导致函数的返回值错误。 似乎所有元素中都只存储了第一个值。
double * m_numbers = nullptr;
int m_numCount = 4;
这些变量已在头文件中初始化。
文件内容:
6
12.2
3
34.1
bool Numbers::load()
{
int i = 0;
if (m_numCount > 0) {
delete[] m_numbers;
m_numbers = new double[m_numCount+1];
ifstream fin(m_filename);
while (!fin.fail()) {
fin >> m_numbers[i];
i++;
}
}
return i == m_numCount;
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)