gpt4 book ai didi

c++ - .eof() 在使用数组时替换

转载 作者:行者123 更新时间:2023-11-30 04:41:47 25 4
gpt4 key购买 nike

所以最近我了解到使用 .eof 可以被认为是一种大禁忌,我想开始远离它。我见过的主要替代品之一是使用

while(inFile >> num)
{

}

但是,当我使用数组执行此操作时,它只存储第一个输入而没有其他任何内容。有什么建议吗?

例子:

while(inMovie >> title[x])
{
inMovie >> income[x];
x++;
}

最佳答案

你真正想做的是:

while ((inMovie >> title[x]) && (inMovie >> income[x]))
{
x++;
}

或者,更简洁:

while (inMovie >> title[x] >> income[x])
{
x++;
}

这样,两个输入操作都必须“成功”才能继续。

话虽这么说,但您的尝试本身没有任何问题,只要输入正确,就没有理由“仅存储第一个输入”。

检查您的输入。

我还担心您可能没有正确使用数组。您的阵列是否有足够的空间容纳所有这些元素?还是您希望 titleincome 自动展开?因为他们不会那样做。在这种情况下,您的程序具有未定义的行为(可能会产生各种奇怪的结果!),您应该考虑改用 vector 。

关于c++ - .eof() 在使用数组时替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59059022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com