【发布时间】:2014-02-21 20:58:53
【问题描述】:
基本上,我有两个列表。列表A 有术语,列表B 有已打乱的术语。我试图通过复制A 来解读B,对其中的每个字符串进行排序,然后对B 中的字符串进行排序,并将它们与A 的排序版本相匹配。然后我可以从已排序的A 中获取索引,并通过将相同的索引放入A 中找到原始索引。
到目前为止,我的代码看起来不错,但字符串永远不会彼此相等。我已经尝试了所有我知道的比较形式,现在我在做str1.compare(str2) == 0。
我的代码:
我有vector<string> lines 和vector<string> keywords。然后我有vector<string> sorted_kws,即keywords,所有内容都已排序。
// Finding matching strings
for (int i = 0; i < lines.size(); i++) {
for (int j = 0; j < sorted_kws.size(); j++) {
if (lines[i].compare(sorted_kws[j]) == 0)
cout << keywords[j] << ",";
}
}
cout << endl;
我在这里做错了什么?
我也尝试过使用std::find,但这也没有用。
此外,我打印了所有内容以确保它看起来正确。字符串完全相同,并且绝对应该彼此相等,但它们不相等。
【问题讨论】:
-
您是否尝试使用调试器?
-
请发布一个最小但完整的示例来演示该问题。
标签: c++ string comparison string-comparison