c++判断string是否为空

C++判断string是否为空

思路分析

  1. 先将string中的所有"空格"给删除, 因为c++中的string一个空格也占一位.
  2. 判断处理后的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()操作会改变原有的字符.


版权声明:本文为weixin_42129772原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。