【发布时间】:2016-05-22 08:36:03
【问题描述】:
这是我的代码。这里 dict.txt 是链接文件。字符串搜索从包含字符串的向量(可能)初始化。我使用 getline 从文件中读取并将每一行存储在字符串 temp 中。现在的问题是,当我执行search == temp 时,输出为假,应该为真。我必须打印在字典文件中找到的字符串。因此,我从文件中提取每一行并进行比较,但相等性被某种错误或我在某处出现问题。
ifstream infile("namenumdict.txt");
string search="", temp="";
int k=0;
for(int i=0; i<possible.size(); i++)
{
search=possible[i];
while(getline(infile, temp))
{
if(search==temp)
{
fout<<temp<<endl;
k++;
}
}
}
我通过调试检查了所有事情都运行良好。 search 和 temp 正在初始化。
请让我知道这个问题。 谢谢
【问题讨论】:
-
无关:您是否打算只搜索
possible[]中的第一个条目?因为一旦你遇到一个不在文件中的字符串(从你上次停止之前的搜索的点开始,如果有的话),任何进一步的搜索都不会成功,因为infile在 eof 处。 -
是的,WhozCraig 是对的。将
possible循环移动到while (getline() ...)循环内 -
@WhozCraig 是的!我是第一次尝试,所以没有考虑。谢谢。
标签: c++ file-io fstream ifstream