CString : 查找字符串包含所有空格
CString : Find string contains all whitespaces
我正在尝试想出一个函数来查看给定的 CString 是否包含所有空格。
我在下面想出的那个似乎不起作用。有什么建议吗?
BOOL IsAllWhiteSpace(CString str)
{
for (int i = 0; i < str.GetLength(); i++)
{
char letter = str.GetAt(i);
if (letter != ' ')
{
return FALSE;
}
}
return TRUE;
}
你应该解释一下这是什么意思 - "doesn't seem to work"
空字符串是错误的,而且它也不包括所有白色-space 字符:(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;
}
您可以在一行中重写您的函数:
return str.TrimLeft().IsEmpty();
我正在尝试想出一个函数来查看给定的 CString 是否包含所有空格。
我在下面想出的那个似乎不起作用。有什么建议吗?
BOOL IsAllWhiteSpace(CString str)
{
for (int i = 0; i < str.GetLength(); i++)
{
char letter = str.GetAt(i);
if (letter != ' ')
{
return FALSE;
}
}
return TRUE;
}
你应该解释一下这是什么意思 - "doesn't seem to work"
空字符串是错误的,而且它也不包括所有白色-space 字符:(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;
}
您可以在一行中重写您的函数:
return str.TrimLeft().IsEmpty();