如何在字符串的向量中找到char*
How to find char* in a vector of string
我有一个char* t
,我想在字符串向量中找到它。例如,char *t
指向"abc"
,我的向量具有与string
相同的"abc"
。
使用std::find
-它将隐式将char*
转换为std::string
。
auto foundIterator = std::find(vec.begin(), vec.end(), t);
如果元素不在向量中,则foundIterator
等于vec.end()
。
这本身并不是一个新的答案,只是@luchian发布的一些演示代码:
#include <string>
#include <algorithm>
#include <sstream>
#include <iostream>
int main() {
std::vector<std::string> data;
for (int i=0; i<10; i++) {
std::ostringstream b;
b << "String " << i;
data.push_back(b.str());
}
auto pos = std::find(data.begin(), data.end(), "String 3");
std::cout << pos-data.begin();
return 0;
}
至少在我运行此操作时,它似乎找到了字符串(它打印出3
)。
相关文章:
- 在<uint8_t> <char> c++ 中将常量向量转换为常量向量
- 封送处理 - 转换 std::向量<char>到字符串^ 反之亦然
- 如何使用 std::move() 将 char[] 移动到向量<char>
- 将 C++ 字符串存储到 char* 向量中
- 为什么此代码无法将字符push_back到向量中<char>?
- 如何从向量转换为<char>数字整数
- 通过其char键对对象指针的C 向量进行排序
- 优化将标准::uint32_t插入到标准::向量<char>中
- 应对 std::字符串中的 std::<char>指针转换后的向量
- 静态常量 std::<char>没有堆的向量初始化?
- 我如何将 c++ 中的向量序列化为 char,以便于将 mondodb 用于后端
- C++:如何将 char 变量分配给向量<char>并访问该向量的元素进行比较?
- <char> 使用 int 值初始化向量
- 瓦尔格林德:在字符[]到标准::向量迁移之后"Invalid write of size 1"<char>
- 从 JNI 到 Java 的 char 向量
- 如何将char复制到char*向量中
- 从Cocos2dx的指针char向量写入sqlite文件
- 将<char>向量前 N 个元素转换为整数
- 将无符号int+字符串强制转换为无符号char向量
- 声明我的char向量数组时发生编译错误