C++判断string是否为空
思路分析
- 先将string中的所有"空格"给删除, 因为c++中的string一个空格也占一位.
- 判断处理后的string是否为空,如果为空则该string本身就为空,否则不为空.
代码
int32_t has_only_spaces(string &str) {
string tmpStr = str;
u_int32_t length = tmpStr.length();
// 将string中的所有空格都删除
while (length > 0) {
length--;
string::size_type index = tmpStr.find(' ');
if (index != string::npos) {
tmpStr.erase(index, 1);
}
}
// 然后判断string是否为空
if (tmpStr.empty()) {
return -1;
} else {
return 0;
}
}
代码中之所以要将str赋值给tmpStr,是因为erase()操作会改变原有的字符.