有没有更好的方法来打印cout最多N个字符的字符串?

2024-03-08

-编辑-我发送的是二进制文件而不是字符串。我的测试是使用 html 页面,所以在这个例子中我只使用一个字符串,但我的问题是关于二进制、向量和使用 ostream 进行调试。我这样做可以消除一些混乱。

我有以下代码:

cout << string(&v[0]).substr(0, len);

有没有更好的方法来打印字符串v计算长度len?我想做 v[len] = 0 但我抛出了一个大小为 1 的断言。我的代码是:

vector<char> v;
v.reserve(1024*16); //required
v.resize(1); //so we can do &v[0]
recv(sockfd, &v[0], v.capacity(), 0);
while (l > 0)
{
    cout << string(&v[0]).substr(0, l);
    recv(sockfd, &v[0], v.capacity(), 0);
}
cout << "the size is " << v.size();

您可以在 cout 对象上使用 ostream::write 方法:

#include <iostream>
#include <vector>

using namespace std;

int main()
{
  vector<char> test;
  test.push_back('a');
  test.push_back('b');
  test.push_back('c');

  cout.write(&test[0], 3);
  cout << endl;
}

Outputs:

abc

由于 ostream::write 返回一个包含 *this 的 ostream& ,您甚至可以这样做

cout.write(&test[0], 3) << endl;

但我不确定这实际上是否更好(或更清晰)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有更好的方法来打印cout最多N个字符的字符串? 的相关文章

随机推荐

  • Jupyter 单元格标签:“remove-input”无效

    这是我的设置 我希望在运行笔记本时只看到 测试 一词 而没有代码单元 我对这个功能的理解正确吗 test ipynb print test In JupyterLab Property Inspector Cell Metadata col
  • 如何仅针对 Internet Explorer 7 以编程方式关闭 JavaScript?

    我想使用 JavaScript 和 或 jQuery 代码关闭 JavaScript 前提是在 IE7 中查看页面 如何才能做到这一点 将不胜感激神奇的代码片段 使用条件注释 http msdn microsoft com en us li
  • 在 VS 2008 和 IIS 中调试现有的 ASP.NET 应用程序

    我是一个 ASP NET 新手 我继承了 asp net mvc 代码的基础 为了帮助自己更好地适应面前的一堆源代码 我想在调试器中单步调试它 然而 作为微软平台的新手 我不知道如何解决这个问题 我们的应用程序在许多不同的主机名下提供内容
  • Flutter如何使用Future返回值作为变量

    我想要得到Future返回值并像变量一样使用它 我有这个Future功能 Future
  • 如何获得概率层的形状?

    我正在使用 TensorFlow 概率层构建模型 当我做 model output shape 我收到错误 AttributeError UserRegisteredSpec object has no attribute shape 如果
  • 如何将 JavaFX 导入 Eclipse?

    我有最新的 JDK 更新 65 但当我尝试导入 JavaFX 时 Eclipse 甚至无法识别它 我该如何解决这个问题并导入它 执行以下步骤 打开 Eclipse gt 帮助 gt Eclipse Marketplace 搜索 javafx
  • “const”错误之前的预期主表达式

    请帮忙 我收到很多错误 sub2 cpp 在函数 int main 中 sub2 cpp 11 14 错误 从 const char 到 char 的无效转换 fpermissive sub2 cpp 12 14 错误 从 const ch
  • box api 获取访问令牌时出错:无效的 grant_type 参数或参数丢失

    我正在尝试获取访问令牌并使用以下 url 来 POST HTTP 请求并接收 error invalid request error description Invalid grant type parameter or parameter
  • 验证 C 中的字符输入

    我有一个项目 我想验证 C 中的字符输入 我是 C 语言的新手 而且在编程方面也不是很有经验 我尝试创建一个循环进行验证 但它不起作用 include
  • 何时实际使用 dlopen()? dlopen() 是指动态加载吗?

    我浏览了下面的链接 通过它我了解了如何创建和使用共享库 https www cprogramming com tutorial shared libraries linux gcc html https www cprogramming c
  • Symfony2 FOSUserBundle 错误 - FileLoaderImportCircularReferenceException

    我正在尝试在新的 symfony2 项目上安装 FOSUserBundle 我已按照以下步骤安装它 但仍然遇到此错误 FileLoaderImportCircularReferenceException in FileLoader php
  • OrientDB性能

    我一直在阅读有关 OrientDB 性能基准的帖子 http technet weblineindia com web introduction to orientdb a nosql dbms http technet weblinein
  • 蚀。将类型层次结构复制到剪贴板

    When I open Type Hierarchy in Eclipse either F4 or Ctrl T is there any way to copy the result tree as text into the clip
  • Rails:simple_form:从复选框集合中获取空字符串

    我的观点中有以下代码 每当我提交表单时 我都会得到类似的值 admin moderator 但我期待类似的事情 admin moderator 为什么是这样 此外 我做了一个检查元素 并且有一个
  • 为什么没有纯 Python SSH1(版本 1)客户端实现?

    似乎有一些很好的纯 Python SSH2 客户端实现 但我还没有找到一个适用于 SSH1 的客户端 除了对这样的项目缺乏兴趣之外 还有什么具体原因吗 我完全意识到许多 SSH1 漏洞 但是对于我们这些想要编写 SSH 客户端来管理仅支持
  • 反应本机滚动视图不会从文本输入内部滚动

    我在滚动视图中添加了多文本输入 问题是当我想从文本输入内部向下滚动时 我将手指放在文本输入内部并向下滚动 但它没有向下滚动页面 有没有办法解决这个问题 这是示例代码 export default class ScrollViewWithTe
  • 根据尺寸类别更改约束乘数

    是否可以根据当前的尺寸类别为约束赋予不同的乘数 我的观点是 对于常规尺寸类宽度 我希望其尺寸为屏幕尺寸的一半 对于紧凑尺寸类宽度 我希望其尺寸为屏幕尺寸的 80 在故事板中 我可以选择将不同大小类别的不同变量添加到约束常量值中 但不能添加它
  • 如何更新vcpkg本身?

    我已经安装了 vcpkg 一个 C 包管理器 现在过了一段时间 我想更新一下 我怎样才能做到这一点 我需要卸载并重新安装吗 更新 vcpkg git 克隆的最佳方法是 将所有已安装端口的列表保存在某处 git pull 删除
  • geom_histogram:错误的垃圾箱?

    我正在使用 ggplot 2 1 0 来绘制直方图 并且我对直方图箱有意外的行为 我在这里举了一个左封闭 bin 的示例 即 0 0 1 binwidth 为 0 1 mydf lt data frame myvar c 1 0 5 0 4
  • 有没有更好的方法来打印cout最多N个字符的字符串?

    编辑 我发送的是二进制文件而不是字符串 我的测试是使用 html 页面 所以在这个例子中我只使用一个字符串 但我的问题是关于二进制 向量和使用 ostream 进行调试 我这样做可以消除一些混乱 我有以下代码 cout lt lt stri