C++ c++;如何从文件中搜索名称或地址?

C++ c++;如何从文件中搜索名称或地址?,c++,C++,我有一个文件,里面有一个人的名字和地址。 首先我在personArray中添加人物,然后打印他们,最后删除他们。 到目前为止,它工作得还不错 现在我正在尝试实现一个Search()-函数,在这里我可以找到一个人的姓名或地址。 我在main()中调用此函数,如下所示: void SearchForPerson(PersonReg personReg) { Person *x1 = personReg.SearchForPerson("Jolina", nullptr); Perso

我有一个文件,里面有一个人的名字和地址。 首先我在personArray中添加人物,然后打印他们,最后删除他们。 到目前为止,它工作得还不错

现在我正在尝试实现一个Search()-函数,在这里我可以找到一个人的姓名或地址。 我在main()中调用此函数,如下所示:

void SearchForPerson(PersonReg personReg)
{
    Person *x1 = personReg.SearchForPerson("Jolina", nullptr);
    Person *x2 = personReg.SearchForPerson("Olle", x1);
}
我将能够继续搜索像这样的人:(字符串搜索,指向上一次点击的指针)

我的函数几乎是空的。我试过几种方法,但都不管用。 我想我应该用这个:

Person* PersonReg::SearchForPerson(std::string search, Person *person)
{
   std::string s1 = search;

   size_t foundName = s1.find(person->name);
   size_t foundAddress = s1.find(person->adress);

   if( /*hit*/)
   {
      //Print out FOUND
      return person;
   }
   else
   {
     return nullptr;
   }
}
我的构造函数对个人:

Person::Person(std::string _name, std::string _adress)
{
    this->name = _name;
    this->adress = _adress;
}
有人知道如何继续吗

[编辑]

我没有展示我是如何存储我的个人信息的,这里是:(PersonReg.cpp)


我不能完全确定您用于存储多个人对象的确切数据结构,以及如果两个人共享同一个名称会怎么样?但是,您可以尝试查看FIFIO是否C++算法库函数对您的目的有用。我现在已经添加了,感谢您的反馈!我不确定需要显示多少代码;一个搜索姓名,一个搜索地址。两者都不需要
Person*
参数。它应该在
personArray
中搜索具有指定姓名或地址的人。要清楚:你走错了方向,不应该继续,而应该重新开始。如果你在一张纸上有一张没有特定顺序的姓名和地址列表,你如何找到有特定姓名的人?把这页往下看,直到你找到那个名字,对吗?这样做,但是在C++中,<代码>人物数组是你的“文件”,而循环是你的“扫描器”。
PersonReg::PersonReg(const int _maxSize)
{
    this->maxSize = _maxSize;
    personArray = new Person[_maxSize];
}

void PersonReg::AddPerson(Person *person)
{
    this->personArray[indexInt++] = *person;
}