当前位置: 首页 > 面试题库 >

相当于Java ByteBuffer的C ++?

唐钊
2023-03-14
问题内容

我正在寻找Java ByteBuffer的“ C ++”。

我可能会丢失明显的内容,或者仅需要一个孤立的用法示例进行澄清。我浏览了iostream家族,它似乎可以提供基础。具体来说,我希望能够:

  • 从字节数组/点构建缓冲区,并从缓冲区获取原语,例如getByte,getInt
  • 使用原语(例如putByte,putInt)构建缓冲区,然后获取字节数组/指针。

问题答案:

您已经拥有stringbuffilebuf或者可以使用vector<char>

这是一个使用stringbuf以下示例的简单示例:

std::stringbuf buf;
char data[] = {0, 1, 2, 3, 4, 5};
char tempbuf[sizeof data];

buf.sputn(data, sizeof data); // put data
buf.sgetn(tempbuf, sizeof data); // get data

感谢@Pete Kirkham对泛型函数的想法。

#include <sstream>

template <class Type>
std::stringbuf& put(std::stringbuf& buf, const Type& var)
{
    buf.sputn(reinterpret_cast<const char*>(&var), sizeof var);

    return buf;
}

template <class Type>
std::stringbuf& get(std::stringbuf& buf, Type& var)
{
    buf.sgetn(reinterpret_cast<char*>(&var), sizeof(var));

    return buf;
}

int main()
{
    std::stringbuf mybuf;
    char byte = 0;
    int var;

    put(mybuf, byte++);
    put(mybuf, byte++);
    put(mybuf, byte++);
    put(mybuf, byte++);

    get(mybuf, var);
}


 类似资料:
  • 在我的应用程序中,我必须从主应用程序线程异步处理多个作业,并收集每个作业的结果。我有一个简单的Java解决方案,它使用ExecutorService和收集作业结果的ExecutorCompletionService来实现这一点。 现在我想把我的代码转换成Spring解决方案。这些文档向我展示了ExecutorService和@Async注释的使用方式,但我不确定如何以及是否可以收集多个作业的结果。

  • 问题内容: Java是否具有表示一段时间的数据类型,例如34秒,5分钟等。 我已经看到了一些TimeSpan的实现,这些实现涵盖了从12月10日到12月11日这样的时间段。 我需要的是类似C#中的TimeSpan。 问题答案: 目前还不是JDK的一部分,但是将被合并到JDK 7中-尝试Joda Time

  • 问题内容: PHP中的这一行代码评估为true 我需要的是Golang中的一个crypt函数,该函数也将评估为true。 尝试1 我试过了,但评估为假: 尝试2 我还尝试定义和使用在其他地方找到的这个crypt函数,但它也返回false: 所以我的问题是: 我如何获得一个golang地穴功能完全一样的琴弦的PHP crypt函数和? 问题答案: 尽管我还没有找到与PHP的crypt函数完全相同的“

  • 问题内容: 以前,我在支持头文件的Windows上使用c ++ / c编译器,但在有Linux的Linux上使用 我想要一个功能完全一样的功能。我不知道为什么我的编译器不支持头文件 净我搜索后,得到了本该说,可能是最接近的等效但是这两个都在,如果我们写的方式不同不显示,而如果我们用输入字符的控制台上输入的文字会显示在人物安慰。我不希望角色显示在控制台上。 使用还会在控制台上显示字符。 问题答案:

  • 问题内容: 我的任务是为开源应用程序编写身份验证组件。我们有一个使用的内部身份验证小部件。我有一些例子访问的代码,它使用来办理过户。 我的问题是,是否有to 的端口,或者更好的是,什么基本软件包将使我足够接近以处理任务? 更新 : 简而言之,我想在JAVA中复制的代码: 我认为您的目标是正确的,我认为我最终将使用HttpsURLConnection,然后从响应中选择所需的内容。 问题答案: 省略异

  • 问题内容: 我希望使用来自Node.js的HTTP请求中的信息(即调用远程Web服务并将响应回显到客户端)。 在PHP中,我会使用cURL来做到这一点。Node的最佳做法是什么? 问题答案: 有关完整示例,请参见HTTP模块的文档: https://nodejs.org/api/http.html#http_http_request_options_callback