C++ 有一个函数可以比较一个用户输入的字符串和一个“;连载;文件,不工作?
我有一个函数,它应该从一个文件中输出关于产品的数据,该文件被输入到“keres”变量中。但是当我试图比较这两个字符串时,它不起作用C++ 有一个函数可以比较一个用户输入的字符串和一个“;连载;文件,不工作?,c++,string,function,oop,file-handling,C++,String,Function,Oop,File Handling,我有一个函数,它应该从一个文件中输出关于产品的数据,该文件被输入到“keres”变量中。但是当我试图比较这两个字符串时,它不起作用 void Admin::display_one() { string keres; Admin lidl; cout<<"Irja be a keresett termek nevet: "; getline(cin,keres); keres += "\r";
void Admin::display_one()
{
string keres;
Admin lidl;
cout<<"Irja be a keresett termek nevet: ";
getline(cin,keres);
keres += "\r";
ifstream file("termeklista.txt");
file.read(reinterpret_cast <char*> (&lidl), sizeof(lidl));
while(!file.eof())
{
if(lidl.nev == keres)
{
....
}
file.read(reinterpret_cast <char*> (&lidl), sizeof(lidl));
.....}
因此,您能帮我找出解决方案吗?谢谢您抽出时间。相关:“序列化”和
读取整个二进制对象是矛盾的。(为什么在“.txt”文件中有二进制数据?)我假设nev
是类Admin的字符串成员。这样的对象不能作为二进制文件写入文件。这回答了你的问题吗?我明白了。所以我不应该使用eof,也不能将字符串作为二进制文件写入文件。我正在用另一种语言学习,所以我不太确定这个操作的名称是否为“序列化”“。所以我用引号。所以没有办法做这个比较?
Hýb tej hýb 1$ ë d Hýb kave hýb 3$