一个字符串位的位置的问题
while((pos=textline.find_first_of(' ',pos))!=std::string::npos)
在这个循环中,是一直找一行(textline)字符串的空格字符位置,当找完一行字符串最后一个空格完后,应该找不到了,这时候 pos的位置在哪呢
比如下二句话:
what your name
my name is xyc
第一行行完后,应该在哪个位置啊?
如下语句:
int pods=0 ,prev_pos=0;
while((pos=textline.find_first_of(' ',pos))!=std::string::npos)
{
。。。。
pos++;
prev_pos=pos;
}
int temp=pos-prev_pos
。。。
// 发现temp的值为-69,
不知从何解释,我的程序中的本意是应该为4的,各位有何高招啊,请说得详细一点,这是一个C++primer中的一个范例的一部份,不得其解?