我想檢查一個char
(string.at(i)
)是否是C++中的空白。我怎樣才能輕鬆做到這一點?檢查string.at(i)是否爲空白C++
我得到了這個代碼示例,我想用某種東西改變_____
,但不知道是什麼。我已經嘗試過' '
,但沒有奏效。
for(int i = 0; i < string.length(); i++)
{
if(string.at(i) == _________)
{
//do something
}
}
我想檢查一個char
(string.at(i)
)是否是C++中的空白。我怎樣才能輕鬆做到這一點?檢查string.at(i)是否爲空白C++
我得到了這個代碼示例,我想用某種東西改變_____
,但不知道是什麼。我已經嘗試過' '
,但沒有奏效。
for(int i = 0; i < string.length(); i++)
{
if(string.at(i) == _________)
{
//do something
}
}
執迷不悟C程序員遷移到C++將半自動使用:
#include <cctype>
if (std::isspace(string.at(i)))
...
這很可能是即使是C++程序員正確的。
我擊敗了你11秒。 – dan04 2011-04-16 22:08:23
@ dan04:我注意到了。做得好! – 2011-04-16 22:13:55
謝謝你sir =) – user709712 2011-04-16 22:25:09
而不是==
[東西],你想:if (isspace(string.at(i))
(或者你可能更喜歡使用std::isspace
)。
編輯:我應該補充一點,這取決於你在做什麼做與空格字符(或你與其他一切,取決於)你可能想要使用一個算法。只是舉例來說,如果你想創建字符串刪除了所有的空格字符的副本,你可以使用:
std::remove_copy_if(s.begin(), s.end(), std::back_inserter(new_string), isspace);
非常感謝你=) – user709712 2011-04-16 22:24:49
'字符串[我] =='「'應該工作,如果你想很簡單的檢查。 – 2011-04-16 22:08:14
沒有理由在這裏使用'at',因爲你知道索引是有效的。 – GManNickG 2011-04-16 22:08:41
@muntoo:空白不是唯一的空白字符。 – 2011-04-16 22:13:23