2011-06-25 31 views
4

我想找到空白字符" "vector<unsigned char> messageC++找到向量函数<无符号字符>

vector<unsigned char>::iterator pos; 
pos = find(message.begin(), message.end(), " "); 

我得到一个错误:

/usr/include/c++/4.5/bits/stl_algo.h: In function ‘_RandomAccessIterator std::__find(_RandomAccessIterator, _RandomAccessIterator, const _Tp&, std::random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char> >, _Tp = char [2]]’: 
/usr/include/c++/4.5/bits/stl_algo.h:4209:45: instantiated from ‘_IIter std::find(_IIter, _IIter, const _Tp&) [with _IIter = __gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char> >, _Tp = char [2]]’ 
../source/InveritasServer.cpp:107:49: instantiated from here 
/usr/include/c++/4.5/bits/stl_algo.h:158:4: error: ISO C++ forbids comparison between pointer and integer 
/usr/include/c++/4.5/bits/stl_algo.h:4209:45: instantiated from ‘_IIter std::find(_IIter, _IIter, const _Tp&) [with _IIter = __gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char> >, _Tp = char [2]]’ 
../source/InveritasServer.cpp:107:49: instantiated from here 
/usr/include/c++/4.5/bits/stl_algo.h:162:4: error: ISO C++ forbids comparison between pointer and integer 
/usr/include/c++/4.5/bits/stl_algo.h:166:4: error: ISO C++ forbids comparison between pointer and integer 
/usr/include/c++/4.5/bits/stl_algo.h:170:4: error: ISO C++ forbids comparison between pointer and integer 
/usr/include/c++/4.5/bits/stl_algo.h:178:4: error: ISO C++ forbids comparison between pointer and integer 
/usr/include/c++/4.5/bits/stl_algo.h:182:4: error: ISO C++ forbids comparison between pointer and integer 
/usr/include/c++/4.5/bits/stl_algo.h:186:4: error: ISO C++ forbids comparison between pointer and integer 

回答

10

您应该使用' '而不是" "

pos = find(message.begin(), message.end(), ' '); 

注意" "是字符串常量,而' '是字符文字。你需要提供的第三个参数是字符文字,因为message是一个字符的向量,而不是字符串。

+2

+1“”与“”之间的差异。 –

4

您正在搜索的字符串,而不是unsigned char

试试这个。注意单引号。

pos = find(message.begin(), message.end(), ' '); 
1

这是一个“无符号字符”的向量,你试图在其中找到一个字符串。发送一个无符号的字符类型。

相关问题