我想借此函数getline()和输出它的所有迭代的总和我阅读该文件。然而,我目前的代码理念让程序崩溃。C++函数getline的总和()使用STOD
int main()
{
// usual read file stuff
while (!in.eof())
{
string total;
double balance = stod(total);
getline(in, total);
cout << "$";
cout << right << setw(10) << total << '.' << cout.precision(2) << endl;
//guessing a for loop that would += balance
}
请阅读[为什么iostream :: eof内循环条件被认为是错误的?](http://stackoverflow.com/questions/5605125/why-is-iostreameof-inside-a-loop-condition-considered-wrong )另请[请阅读如何提出良好问题](http://stackoverflow.com/help/how-to-ask),并学习如何创建[最小,***完整***和可验证示例](http://stackoverflow.com/help/mcve)。你应该也埃里克利珀阅读[如何调试小程序(https://ericlippert.com/2014/03/05/how-to-debug-small-programs/),并学习如何使用调试器。 –
顺便说一句,当字符串'total'是空的(就像它是当你定义它),你认为什么样的价值'的std :: stod'会回来呢? –
啊,这有点帮助,我认为每次运行getline()它都会与之平衡。第一次使用getline(),这是否意味着甚至有可能从getline中求和? –