HeJ小鼠!我需要能够从每行的文件中读取5个变量,这些行的格式不同,具有不同的名称
MIKE ,CHENAULT , 82 , 24 , 90
我似乎无法弄清楚如何分别读取每个单词和整数,我考虑使用字符数组作为名字,因为我需要输出它们就像这样
Jones,J ----- 95
数字将通过公式计算,但我不知道如何从一行中获取5个不同的变量。任何帮助将非常感激!
答案 0 :(得分:0)
我建议使用Person
类,其中包含名字,姓氏和三个数字作为数据成员。然后,您可以定义一个可用于促进输入的提取器:
struct Person
{
public:
friend std::istream& operator>>(std::istream& is, Person& p); // for input
friend std::ostream& operator<<(std::ostream& os, const Person& p);
// for output
private:
std::string first, last;
int a, b, c;
};
// definition of the extractor
std::istream& operator>>(std::istream& is, Person& p)
{
char comma;
is >> p.first >> comma >> p.last >> comma;
is >> p.a >> comma >> p.b >> comma >> p.c;
return is;
}
现在您可以创建包含1000个Person
个实例的数组(或向量):
std::vector<Person> v;
Person p;
while (file >> p)
{
v.push_back(p);
}
稍后当您想要输出时,可以使用您定义的插入器。例如:
std::cout << v[5];