C++ 如何读取文件并比较用户输入以查看是否匹配?C++;

C++ 如何读取文件并比较用户输入以查看是否匹配?C++;,c++,C++,我正在尝试编写一个程序来获取输入,并将其与文档进行比较,以查看它是否与文档中的任何内容匹配。尽管我在传递变量时遇到了问题。行在albumComp函数中不断弹出,尽管它是在main中传递的,但未定义 #包括 #包括 #包括 使用名称空间std; //用户输入与文档比较的功能原型 空相册组件(字符串); //用户输入的函数原型 无效输入(字符串); int main(){ fstream相册(“albums.txt”,ios::in); 字符串文件内容; 弦线; 如果(相册){ while(相册>>

我正在尝试编写一个程序来获取输入,并将其与文档进行比较,以查看它是否与文档中的任何内容匹配。尽管我在传递变量时遇到了问题。行在albumComp函数中不断弹出,尽管它是在main中传递的,但未定义

#包括
#包括
#包括
使用名称空间std;
//用户输入与文档比较的功能原型
空相册组件(字符串);
//用户输入的函数原型
无效输入(字符串);
int main(){
fstream相册(“albums.txt”,ios::in);
字符串文件内容;
弦线;
如果(相册){
while(相册>>行){
唱片公司(线);
}
}否则{
不能输入;
}
/*此函数用于比较相册的用户输入
查看文档的内容,以查看它是否已存在*/
void albumComp(字符串用户输入){
输入(用户输入);

cout这是您的程序流程:

  • main()
    中,调用
    albumComp(line)
    其中
    line
    是从文件中读取的内容
  • albumComp()
    调用
    input(userInput)
    ,但变量
    userInput
    是从文件中读取的行
  • 函数
    input()
    提示用户输入相册名称,然后将其存储在
    input
    中,这将覆盖从文件中读取的行的副本。当函数结束时,它将立即被销毁

  • 回到
    albumComp()
    ,尝试
    std::cout如果要读取行,请使用
    std::getline()
    。否则,文件流会在找到的第一个空格(如空格)处停止。您的函数调用不正常。您应该提供一个示例文件的内容以及当前收到的错误的确切文本。请参阅。另请参阅,并在执行时拍摄。