1

我有以下代码

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

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

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

代码似乎认为字符串中有一个空格关于我可能做错的任何建议

以下是目前的结果 = 4294967295 t = 11:15:36

是否有可以帮助我做到这一点的 boost 库?有什么建议么 ?

4

1 回答 1

8

不要使用unsigned. std::string::find返回 a std::string::size_type,通常是size_t.

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

}

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

auto present = t.find(" ");
于 2013-04-02T15:36:08.810 回答