c++ - 检查 std::string 是否只有空格的有效方法

标签 c++ string optimization whitespace

我刚刚和一位 friend 讨论了检查 std::string 是否只有空格的最有效方法。他需要在他正在从事的嵌入式项目上执行此操作,显然这种优化对他很重要。

我想出了以下代码,它使用 strtok()

bool has_only_spaces(std::string& str)
{
    char* token = strtok(const_cast<char*>(str.c_str()), " ");

    while (token != NULL)
    {   
        if (*token != ' ')
        {   
            return true;
        }   
    }   
    return false;
}

我正在寻找有关此代码的反馈,也欢迎更有效的方法来执行此任务。

最佳答案

if(str.find_first_not_of(' ') != std::string::npos)
{
    // There's a non-space.
}

关于c++ - 检查 std::string 是否只有空格的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6444842/

相关文章:

c++ - 关于streambuf溢出函数的查询

c++ - 在 Windows 上构建 MLT 框架时出错

c++ - C++ 中的固定和设置精度

C# 正则表达式 : Capture everything up to

php - 将目录移出到 .htaccess 文件是否会增加 CPU 加载时间和 CPU 周期

c++ - 四元数乘法错误

c++ - 当getline()读取的行大于系统内存时会发生什么?

java - 读取文件,将字符串转换为 double ,存储在二维数组中

字符 a[512] 与字符 b[512 + 1]

sql - IN 谓词在 SQL 中如何工作?