[英]Reading from file with “>>”
我有以下人员档案:
Name 0744112233 ASD
和下面的代码
const string InFilePersonRepository::PFILE = "persons";
void InFilePersonRepository::load() {
string delim = " ";
string name, phone, address;
ifstream fin(PFILE.c_str());
while (fin.good()){
fin>>name>>delim>>phone>>delim>>address;
Person p(name,phone,address);
persons.push_back(p);
}
}
读完后,姓名,电话,地址的值为:name = Name,phone = ASD,address =“”,
如果文件有多行,同样的问题,则跳过文件中的第二个字段。 为什么会这样?
谢谢
>>
跳过空格,所以不需要delim
。 fin >> name >> phone >> address
应该做。
尝试类似的东西
void InFilePersonRepository::load() {
string name, phone, address;
ifstream fin(PFILE.c_str());
while (fin.good()){
fin>>name>>phone>>address;
Person p(name,phone,address);
persons.push_back(p);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.