为什么矢量元素不打印?
Why don't vector elements print?
i具有解析URL请求并找到IP和端口模式的匹配的正则函数。我想将这些匹配项推入向量,然后将它们打印到屏幕上。矢量的大小打印到屏幕上,但是当我尝试通过矢量迭代并打印元素时,屏幕上什么也没有打印到屏幕上。
代码:
std::vector<std::string> matchVector;
std::smatch m;
std::regex e ("\/([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\:?([0-9]{1,5})");
while (std::regex_search (requestURL,m,e))
{
for (auto x:m)
{
std::stringstream ss;
ss << x;
std::string str = ss.str();
matchVector.push_back(str);
std::cout << "match " << str << " ";
}
std::cout << std::endl;
requestURL = m.suffix().str();
}
std::cout << "print vector of size : " << matchVector.size()<< 'n';
//this is where nothing prints to the screen
for (int i =0; i < matchVector.size(); i++)
{
std::cout << matchVector[i];
}
当前输出:
match /192.xxx.111.xxx:8080 match 192.xxx.111.xxx match 8080
print vector of size : 3
std::cout
被缓冲,因此它与您在终端上看到的内容没有同步。在打印循环之后,尝试只需冲洗std::cout
:
std::cout << std::flush;
相关文章:
- 从控制台中删除最后打印的元素
- 数组元素打印的递归方法
- 打印所有链表的元素 (C++)
- 更新的矢量元素不打印
- 打印矢量数组中的所有元素
- 为什么我在尝试在单向链表中打印元素时会出现这个永无止境的循环
- 如何在c ++中打印给定桶号的所有元素unordered_set?
- 为什么平均打印数组元素比打印单个对象慢C++?
- 为什么这个程序没有打印返回的迭代器的正确第二个元素?
- C++ Expat 仅打印元素的第一个字母和标签中的数据
- 如何在 2D 字符数组中打印 [x][y] 元素的地址?(C++)
- C 打印元素总和
- C 打印元素,带有来自对象数组的数据
- 将数组传递到空隙函数,然后递归打印元素
- 使用std :: lower_bound()打印元素范围以下某些值以下
- 3D 指针数组的打印元素
- 如何打印元素的地图内部的矢量
- 中缀,前缀或后缀顺序通过BST得到降序打印元素
- 从列表中打印元素
- 如何在矢量 c++ 中打印元素