将字符串与文件中的数据进行比较

Compare string with data on a file

如何获取用户的输入并将其与文件中的数据进行比较?

Myfile.txt 包含以下数据

Louise Ravel
Raven
Wings
Crosses and Bridges
Bjarne

在我的程序中

   #include <iostream>
   #include <fstream>
   #include <string>

   int main()
   {
       std::ifstream file("Myfile.txt");
       std::string name;
       std::cout<<"Enter the name to compare with the data: ";
       std::getline(std::cin,name);
       return 0;
   }

现在,一旦用户输入,我想将输入的字符串与 MyFile.txt 中可用的数据进行比较,如果找到匹配的字符串,则只需打印 "Match Found"

我试过这个,但没用。

while(file>>name)
    {
        if(file==name)
        {
            cout<<"Match Found";
        }
    }

我该怎么做?

您的 while 循环不正确。您正在将文件中的姓名读入与您从中读取用户输入的变量相同的变量中。然后,您还将文件与读取名称进行比较,读取名称始终 return false.

尝试:

std::string nameFromFile;
while(file>>nameFromFile)
{
    if(nameFromFile==name)
    {
        cout<<"Match Found";
    }
}