我想检查一下char
(string.at(i)
)是否是C ++中的空格。我怎么能这么容易地做到这一点?
我有这个代码示例,我想用某些东西改变_____
,但不知道是什么。我试过了' '
,但这没效果。
for(int i = 0; i < string.length(); i++)
{
if(string.at(i) == _________)
{
//do something
}
}
答案 0 :(得分:14)
#include <cctype>
if (isspace(string.at(i)))
答案 1 :(得分:6)
而不是==
[某事],而不是if (isspace(string.at(i))
(或者您可能更喜欢使用std::isspace
)。
编辑:我应该根据你正在做什么添加空格字符(或者你要用其他所有东西,取决于你),你可能想要使用算法。例如,如果您想要删除所有空格字符的字符串副本,可以使用:
std::remove_copy_if(s.begin(), s.end(), std::back_inserter(new_string), isspace);
答案 2 :(得分:3)
迁移到C ++的不悔改的C程序员会半自动使用:
#include <cctype>
if (std::isspace(string.at(i)))
...
即使对于C ++程序员来说,它也很可能是正确的。