如何将单个字符串与字符串数组进行比较
How do you compare a single string to a string array
string name;
strarray[] = ["Jack", "Tom" , "Jill"]
if(name == strarray)
{
//implementation here
}
如何使此比较工作
我在这里收到一个错误,因为一个是字符串,一个是数组字符串。
标准库有一个名为 find
的函数,它正是这样做的: (包括<algorithm>
标头)
std::string strarray[] = {"Jack", "Tom" , "Jill"};
if (std::find(strarray, strarray + 3, name) != strarray + 3) {
// implementation here
}
您可以使用std::find()
:
if (std::end(strarray) != std::find(std::begin(strarray), std::end(strarray), name)) {
// implementation goes here
}
std::begin()
和 std::end()
是 2011 C++中的新增功能,但实现起来微不足道:
template <typename T, int Size> T* begin(T (&array)[Size]) { return array; }
template <typename T, int Size> T* end(T (&array)[Size]) { return array + Size; }
bool flag=false;
string name;
strarray[] = ["Jack", "Tom" , "Jill"]
//How do I make this comparison work
//I am getting an error here bc one is a string and one is an array string
for(int i=0;i<3;i++)
{
if(name == strarray[i])
{
flag=true;
break;
}
}
if(flag)
//implementation here :)
相关文章:
- 为什么字符串比较的 == 运算符相对于任一字符串长度线性时间(似乎)?
- 字符串比较中的意外输出
- 如何执行不区分大小写的字符串比较?
- 使用 getline(cin, var) 两次在进行字符串比较时会产生错误 (==)
- <<运算符优先级与字符串比较
- ">"运算符和"<"运算符如何进行字符串比较?
- Qt C++11 字符串通过子字符串比较列出交集
- std::out_of_range字符串比较中的异常
- 我正在尝试从输入文件中读取,然后使用它们的子字符串比较字符串的特定部分
- 字符* 与uint8_t的字符串比较
- 用字符串 c++ 比较对向量的元素
- 使用循环进行词典字符串比较
- 如何为C++映射创建自己的字符串比较对象
- 不带比较()的字符串比较
- 与 IF 语句C++的字符串比较?
- 字符串比较在与变量一起使用时给出不同的输出
- 更快的字符串比较排序,用于唯一()
- C 字符串比较“祝您好运”&gt;“再见”
- C 奇怪的行为和字符串比较
- 子字符串与 std::memcmp 或字符串::比较的比较