【问题标题】:What is the proper way to compare an element of an std::string with a character?将 std::string 的元素与字符进行比较的正确方法是什么?
【发布时间】:2010-12-09 22:43:49
【问题描述】:

我不是一个非常有经验的 C++ 程序员,当我执行以下操作时会收到警告:

if (myString[i] != 'x')
{
}

比较这些的适当方法是什么?

感谢您的帮助!

【问题讨论】:

  • 您收到什么警告?我认为这段代码没有任何本质上的错误
  • 我没有收到有关 G++ 的警告 - 你收到什么警告?
  • 呸,我使用的是 long long int,你的 cmets 引导我,谢谢!警告是:警告 C4244:“参数”:从“无符号 __int64”转换为“无符号整数”,可能丢失数据
  • myString 是否充满了宽字符(unicode)?如果是这样,您将不得不这样做,myString[i] != L'x'
  • @Jorge,对未来的一点建议:您可以编辑自己的问题(标签下方的“编辑”链接),如果您找到自己问题的答案,请随时把它作为答案放在下面,这样你的问题就会显示为已回答(你也可以在 48 小时后接受你自己的答案)

标签: c++ string char element cstring


【解决方案1】:

可能性 1: 标识数组中元素的 int 不应大于常规 int。

可能性 2: 如果 myString 是 std::wstring 类型,则适当的比较是 myString[i] != L'x' (ty popester!)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多