C++ C++;使用getline逐行读取文件
我想逐行读一个文件C++ C++;使用getline逐行读取文件,c++,stream,C++,Stream,我想逐行读一个文件 void BookRepository::PopulateEntity(Book * book, std::ifstream * inputfileStream) { getline(inputfileStream, book->Id); getline(inputfileStream,book->Name); } 像这样的。。。但我得到一些编译错误,我不知道为什么 错误C2784'std::basic_istream &std:
void BookRepository::PopulateEntity(Book * book, std::ifstream * inputfileStream)
{
getline(inputfileStream, book->Id);
getline(inputfileStream,book->Name);
}
像这样的。。。但我得到一些编译错误,我不知道为什么
错误C2784'std::basic_istream
&std::getline(std::basic_istream)
&,std::basic_string&'):无法推断
来自的“std::basic_istream&”的模板参数
'std::ifstream'
错误C2784'std::basic_istream
&std::getline(std::basic_istream)
&&,std::basic_string&'):无法推断
来自的“std::basic_istream&&”的模板参数
'std::ifstream
请检查表格的格式。它将数据放入
std::string
中。所以你的book->Id
和book->Name
应该是std::string
getline(*inputfileStream, book->Id); // if book->Id is string
getline(*inputfileStream, book->Name);
或者,您可以读入临时字符串,然后将其转换为首选数据类型
string temp;
getline(*inputfileStream, temp);
book->Id = stoi(temp);
getline(*inputfileStream, book->Name);
您的代码中可能有错误。首先,
inputfileStream
是一个指针,getline
需要一个对象。因此,将调用更改为std::getline(*inputfileStream,book->Id)代码>。但这只是一个猜测;如果没有真正的代码,就不可能做出明智的反应。告诉我们你会遇到什么类型的错误。@abdullahedited@PeteBecker错误来自这行代码。。不管怎么说,我还是很高兴them@PeteBecker哦,这似乎是可行的,但只适用于字符串。。。