我有一个文本文件。 存储在其中的所有值都是整数。 当我比较我搜索的数字和存储在文本文件中的数字时,结果是不正确的!
我的代码:
ifstream infile ("h1.txt");
if (!infile)
{
cout << "Can't open file" << endl;
exit (EXIT_FAILURE);
}
int n;
infile >> n;
while(!infile.eof()){
if (n!=search)
{
return false;
}
else{
return true;
}
infile>>n;
}
为什么即使n
等于搜索,编译器也会将结果视为false?
答案 0 :(得分:2)
您只是从文件中读取第一个数字是否正确。当代码到达h2 {
text-align: right;
padding-right: 40%;
}
时,函数的执行结束。
答案 1 :(得分:-1)
我解决了问题,数字仅存储最后一个值,即数字的值 如果找到的搜索将作为搜索因此,条件将是真实的 bool值也将为true但是当文件读取的值不等于搜索时编译器也会在else部分中输入并使bool变量为false虽然搜索已建立!(特别是当在文件开头找到搜索号时) ,所以我通过删除else来解决它,并且当且仅当在文件中建立搜索时才使bool变量为true。希望你理解