如何从文件中读取多个名称和编号

How to read in multiple names and numbers from a file?

本文关键字:编号 读取 文件      更新时间:2023-10-16

Hej!我需要能够从每行的文件中读取 5 个变量,这些行的格式为具有不同名称

MIKE           ,CHENAULT       , 82 , 24 , 90

我似乎无法弄清楚如何分别读取每个单词和整数,我想过使用字符数组作为名字,因为我需要这样输出它们

Jones,J  -----   95

该数字将通过公式计算,但我不知道如何从一行中获取 5 个不同的变量。任何帮助将不胜感激!

我建议使用一个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];