我正在尝试提出一个函数来查看给定的CString是否包含所有空格。
我想出的那个似乎不起作用。有什么建议吗?
BOOL IsAllWhiteSpace(CString str)
{
for (int i = 0; i < str.GetLength(); i++)
{
char letter = str.GetAt(i);
if (letter != ' ')
{
return FALSE;
}
}
return TRUE;
}
答案 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();