CString:查找字符串包含所有空格

时间:2015-08-05 14:34:10

标签: visual-c++ mfc

我正在尝试提出一个函数来查看给定的CString是否包含所有空格。

我想出的那个似乎不起作用。有什么建议吗?

BOOL IsAllWhiteSpace(CString str)
{
    for (int i = 0; i < str.GetLength(); i++)
    {
        char letter = str.GetAt(i);
        if (letter != ' ')
        {
            return FALSE;
        }
    }
    return TRUE;
}

2 个答案:

答案 0 :(得分:0)

你应该解释它的意思 - “似乎不起作用”

对于空字符串是错误的,并且它也不包括所有空格字符:(0x09 - 0x0D或0x20)。以下是固定版本:

BOOL IsAllWhiteSpace(const CString& str)
{
  if (str.IsEmpty())
    return FALSE;
  for (int i = 0; i < str.GetLength(); i++)
  {
    char letter = str.GetAt(i);
    if (!_istspace(letter))
    {
      return FALSE;
    }
  }
  return TRUE;
}

答案 1 :(得分:-1)

您可以在一行中重写您的功能:

return str.TrimLeft().IsEmpty();
相关问题