如何解决字符串比较
单词文件如何存储在文本文件中。
我试图从中获取一个单词作为输入,并将其与本地路径中存在的单词进行比较。
如何将输入的单词与文件中的单词进行比较。
#include <iostream>
#include <fstream>
using namespace std;
string str;
fstream file;
string word,t,q,filename;
void read()
{
cout << "Enter the word to search in the dictionary:";
cin >> str;
cout << "Your Entered word is :" << str;
cout << "\nsearching in the librabry(Dictionary).";
return;
}
void search()
{
//string str;
filename = "da1.txt";
file.open(filename.c_str());
if (str == word)
{
cout << "Found" << word << endl;
}
else
{
cout << "\nEntered word does not exist in the library." << endl;
}
return;
}
int main()
{
search();
}
我非常确定我的单词不会与文字中的单词进行比较。
解决方法
您的问题在这里:
void read()
{
cout<<"Enter the word to search in the dictionary:";
cin>>str;
cout<<"Your Entered word is :"<<str;
cout<<"\nsearching in the librabry(Dictionary).";
return;
}
and的原因是:
-
永远不会调用
-
read()
方法, - 您要求输入单词进行搜索,但是会将输入内容分配给 str 变量
- 在搜索方法中,您执行
if(str==word)
,以便比较2个未初始化的对象 - 您应该执行类似
std::string str{};
的操作
您没有调用方法read()
,因此您的变量word
是null
。
其次,您似乎想知道str
是否包含word
,而不是简单的等式。检出this link。
如@Paul Sanders所述,您不是从文件中读取数据
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。