英文:
Using file.get() with integer values
问题
我需要使用get()
函数来读取数值。我有以下处理输入字符的代码的一部分。如何更新这段代码,以正确使用get()
函数来读取数值?
in_file.open(in_file_name, ios::in);
in_file.get(id); // 我需要使用这个id,它是int类型。在原始代码中,它是char类型。
while (!in_file.eof())
{
in_file.get(id);
}
in_file.close();
我遇到的错误是:
错误:无法将类型为非const左值引用绑定到类型为
std::basic_istream<char>::char_type&
的rvalue上,std::basic_istream<char>::char_type
即char
。
如何修复这个错误?
英文:
I need to read numeric values by using get().
I have this code that deal with char as input this is a part of the code. How can update on this code to use get() with values in correct way?
in_file.open(in_file_name, ios::in);
in_file.get(id); // id that I need to use it,int id. With original code
// was char id;
while (!in_file.eof())
{
in_file.get(id);
}
in_file.close();
The error that I have:
> error: cannot bind non-const lvalue reference of type
> 'std::basic_istream<char>::char_type&' {aka 'char&'} to an rvalue of
> type 'std::basic_istream<char>::char_type' {aka 'char'}
> in_file.get(id);
答案1
得分: 1
使用>>
而不是get
来读取整数。此外,您的while循环是错误的。以下是正确的代码:
in_file.open(in_file_name, ios::in);
while (in_file >> id)
{
...
}
in_file.close();
英文:
To read integers use >>
not get
. Plus your while loop is wrong. Here's the correct code
in_file.open(in_file_name, ios::in);
while (in_file >> id)
{
...
}
in_file.close();
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论