使用find搜索字符串中是否存在空格

时间:2013-04-02 15:25:27

标签: c++

我有以下代码

std::string t = "11:05:47"  (No spaces inside)

我想检查它是否有一个空的空间(它没有)所以我正在使用

       unsigned present = t.find(" ");
       if (present!=std::string::npos)
       {
             //Ends up in here
       }

代码似乎认为字符串中有空格,对我可能做错了什么建议

以下是结果 present = 4294967295 t = 11:15:36

是否有可以帮助我这样做的升级库?有什么建议吗?

1 个答案:

答案 0 :(得分:8)

请勿使用unsignedstd::string::find会返回std::string::size_type,通常为size_t

std::string::size_type present = t.find(" ");
if (present!=std::string::npos) {

}

正如其他人所指出的那样,您可以使用C ++ 11的auto让编译器推断出present的类型应该是什么:

auto present = t.find(" ");