[英]Check if string.at(i) is a whitespace C++
我想检查一下char
( string.at(i)
)是否是C ++中的空格。 我怎么能这么容易做到?
我得到了这个代码示例,我正在考虑用某些东西改变_____
,但不知道是什么。 我试过' '
,但那没用。
for(int i = 0; i < string.length(); i++)
{
if(string.at(i) == _________)
{
//do something
}
}
#include <cctype>
if (isspace(string.at(i)))
而不是==
[something],你想要: if (isspace(string.at(i))
(或者你可能更喜欢使用std::isspace
)。
编辑:我应该添加,这取决于你正在使用空格字符做什么(或者你要用其他所有东西,取决于你),你可能想要使用算法。 例如,如果您想创建一个删除了所有空白字符的字符串副本,您可以使用:
std::remove_copy_if(s.begin(), s.end(), std::back_inserter(new_string), isspace);
迁移到C ++的不悔改的C程序员会半自动使用:
#include <cctype>
if (std::isspace(string.at(i)))
...
即使对于C ++程序员来说,它也很可能是正确的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.