在 C++ 上使用 eof
我正在寻找此 pascal 代码的 C++ 编码,
var
jumlah,bil : integer;
begin
jumlah := 0;
while not eof(input) do
begin
readln(bil);
jumlah := jumlah + bil;
end;
writeln(jumlah);
end.
我不明白在 C++ 上使用 eof
的目的是计算从第 1 行到文件编辑末尾的数据
: 好吧,我尝试了这个,但没有运气
#include<iostream>
using namespace std;
int main()
{
int k,sum;
char l;
cin >> k;
while (k != NULL)
{
cin >> k;
sum = sum + k;
}
cout << sum<<endl;
}
抱歉,我是 C++ 新手
i am looking for C++ coding for this pascal code
var
jumlah,bil : integer;
begin
jumlah := 0;
while not eof(input) do
begin
readln(bil);
jumlah := jumlah + bil;
end;
writeln(jumlah);
end.
i don't understand using eof on C++
it's purpose is to calculate data from line 1 to the end of the file
edit :
well i tried this but no luck
#include<iostream>
using namespace std;
int main()
{
int k,sum;
char l;
cin >> k;
while (k != NULL)
{
cin >> k;
sum = sum + k;
}
cout << sum<<endl;
}
sorry i am new to C++
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您已经非常接近了,但可能受到 Pascal 背景的影响比理想情况要多一些。您可能想要的更像是:
或者,C++ 可以将文件大致视为顺序容器,并像使用任何其他容器一样使用它:
You're pretty close, but probably being influenced a bit more by your Pascal background than is ideal. What you probably want is more like:
Alternatively, C++ can treat a file roughly like a sequential container, and work with it about like it would any other container:
通常的习惯用法是
operator>>
失败后,cin
对象转换为 false,通常是因为 EOF:检查 badbit、eofbit 和 failurebit。The usual idiom is
The
cin
object casts to false afteroperator>>
fails, usually because of EOF: check badbit, eofbit and failbit.要格式化 David 上面所写的内容:
您还可以在 http://www.cplusplus.com/ 找到更多信息参考/iostream/
To format what David wrote above:
You can also find more information at http://www.cplusplus.com/reference/iostream/