gpt4 book ai didi

c++ - 将 ntohs() 与字符串流一起使用

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:32:19 24 4
gpt4 key购买 nike

当我从 stringstream 读取数据时,我有一个关于如何使用 ntohs() 的问题。

对于下面的代码:

read(ns, buf_receive, BUFFER_SIZE);

stringstreams ss(buf_receive);
char[2] a;
short int b;

ss << a[0] << a[1];
ss << b;

cout >> b;

我的问题在于我收到的数据格式不是纯粹的。所以我不能把这个函数直接放在 buf_receive 上,像这样:ntohs(buf_receive),我也不能把它用在 b 上,像这样: ntohs(b).

那么有没有什么好的方法(不用手动移动位)来实现呢?

最佳答案

您总是可以创建一个包含 short 的类, 然后定义自定义 operator>>operator<<从流中读取/写入值,通过调用 ntohs 处理字节排序和 htons分别。

然后,替换short的用法在您的示例中使用您的新类类型。

作为它的作业,我不会提供实现。

关于c++ - 将 ntohs() 与字符串流一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10638734/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com