在向量中通过一个单词查找行
Find line by one word in vector
试图在向量中找到一个单词的行。
例如:
在文件中一些数据,例如:
ctrl A移动,找到
ctrl c副本,组
ctrl z拍摄,给予
所有字母很小。
然后我尝试读取向量中的文件 - 还可以
然后用户要输入:移动
**我希望,如果用户输入 move
,我在向量中找到一行,该行具有move
单词并使用此行做某事。(例如:erase)*
但是我做错了什么,因为我的循环在零上停止,并且仅读取文件的第一个字符串?
代码如下:
void HotMap::test(std::string str)
{
std::string line;
std::vector<std::string> vec_keys;
std::string file_name_keys("read_keys.txt");
std::ifstream file_keys(file_name_keys, std::ios::in);
std::vector<std::string>::iterator iter_vec;
while (std::getline(file_keys, line))
{
for (auto & c : line) c = tolower(c);
vec_keys.push_back(line);
}
for (int i = 0; i < 3; i++)
{
vec_keys[i].find(str);
if (vec_keys[i].find(str))
{
std::string found_str;
std::cout << "Found:" << vec_keys[i];
//Just help to find the line.....
break;
}
}
}
阅读 string::find
的参考:
返回值
第一场比赛的第一个字符的位置。如果找不到匹配项,则该功能将返回
string::npos
。
所以,尝试一下:
if (vec_keys[i].find(str) != std::string::npos)
std::cout << "Found:" << vec_keys[i];
相关文章:
- 为什么这个程序返回最后一个单词而不是最长的单词?
- 如何检查流中文件的下一个单词是否为 alpha?
- 给定一个单词数组和一个字符串,如何计算给定字符串中的所有单词
- 计算一个单词在映射中出现的次数 - 使用 transform() - 调用不匹配
- 如何将一个单词拆分成字母,并将它们放入一个无序的列表/集合中
- 将字符串中的单个单词替换为另一个单词
- 如何插入一个单词并将字母放在2D数组中的不同索引中
- C++ ifstream 只读一个单词的数量
- 我如何计算一个单词在数组中重复的次数
- 如何将 c 字符串转换为指针数组,其中每个指针都是 char 数组中的一个单词
- 将 C++ 类属性与分号前面的最后一个单词对齐;在 emacs 中
- 我试图编写一个代码来查找一个单词是否是回文,但它不起作用。怎么了?
- 我如何在一串随机生成的字母I C 中查找一个单词
- 在字符串中找到最后一个单词
- C++ 输出在读取文本文件时跳过最后一个单词
- 我如何将句子分成一个单词
- 在向量中通过一个单词查找行
- 'Try This'矢量在示例词典中哔哔一个单词。编程原理与实践
- 我怎样才能从字符串中得到一个单词
- 如何将文本(诗歌)拆分为行(字符串/字符[])并查找每个行的最后一个单词