我想逐行读取文件
void BookRepository::PopulateEntity(Book * book, std::ifstream * inputfileStream)
{
getline(inputfileStream, book->Id);
getline(inputfileStream,book->Name);
}
这样的东西......但我收到了一些编译错误,我不知道为什么
错误C2784' std :: basic_istream< _Elem,_Traits> &安培;的std ::函数getline(标准:: basic_istream< _Elem,_Traits> &安培;,的std :: basic_string的< _Elem,_Traits,_Alloc> &)':无法演绎 ' std :: basic_istream< _Elem,_Traits>的模板参数&安培;'从 '的std :: ifstream的'
错误C2784' std :: basic_istream< _Elem,_Traits> &安培;的std ::函数getline(标准:: basic_istream< _Elem,_Traits> &安培;&安培;,的std :: basic_string的< _Elem,_Traits,_Alloc> &)':无法演绎 ' std :: basic_istream< _Elem,_Traits>的模板参数&安培;&安培;'从 '性病:: ifstream的
答案 0 :(得分:1)
请检查std::getline
的格式。它将数据放在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);