MFC cwebbrowser2 navigate只载入循环后的最后一个页面

用mfc提取了指定页面的html代码,然后用boost::regex正则表达式循环提取了几个

标签里的内容
我想把提取出来的内容跟一些字符组装起来,再navigate一下,提交出去。但是每次只navigate循环之后的最后一个网址。

求大神,弄了两天了,加了gettickcount还是不行

没有代码没有真相,你是怎么保存的url,数组是不是引用了同一个地址的字符串

每次提交的确实是同样的cstring字符。我没有放到数组里。也就是您说的引用了同一个地址的字符串
请问这个有影响吗?

代码如下,声明str_text是获取到的html文本,reg是正则表达式,tregex_iterator 获取了两列的cstring字符,sRet是第一列,sret2第二列

boost::tregex_iterator i(boost::make_regex_iterator(str_text, reg)), j;
CString sRet, sret2;
while (i != j){
sRet = CString((*i)[1].first, (*i)[1].length());
sret2 = CString((*i)[2].first, (*i)[2].length());
CString urlPost;
CString urlKey;
GetDlgItem(IDC_EDIT3)->GetWindowTextW(urlPost);
GetDlgItem(IDC_EDIT4)->GetWindowTextW(urlKey);

    CString urlSend = urlPost + _T("?key=") + urlKey + _T("&refer1=") + sRet + _T("&refer2=") + sret2;
    testBrowser.Navigate(urlSend, NULL, NULL, NULL, NULL); 
    }

    每次只navigate循环之后的最后一个网址,即最后一个组装后的urlSend。但是我用edit control可以获取到前面几组 sRet sret

    求解答

你Navigate之后,页面就刷新了。后面一次又Naviaget覆盖了前面的,应该这样你就只能看到最后一次的了页面了。