c++ - 有没有办法简化/整合这个发送功能
问题描述
有没有办法简化/整合这个发送功能,例如:
int __fastcall HSend(void* _this, void* unknown, BYTE* buffer, int len) {
if (len > 0)
{
std::cout << std::hex << "[Packet]" << std::endl;
std::stringstream EncrpytedPacket;
for (int i = 0; i < len; i++) {
EncrpytedPacket << std::hex << std::setfill('0') << std::setw(2) << (unsigned int)(unsigned char)buffer[i];
}
std::cout << "[Send][" << EncrpytedPacket.str() << "]" << std::endl;
}
return oSend(_this, buffer, len);
}
解决方案
不要使用endl
. 只需输出\n
以写入换行符。它相当慢,无论如何输出到控制台都是“单元缓冲”的。
对循环中的每个字节执行所有 iostream 模式更改、填充、宽度等操作很慢。无论如何,在通话之间会记住哪些?或者,使用高效的函数在一次调用中将一堆字节转换为十六进制。
(unsigned int)(unsigned char)buffer[i]
你为什么要堆叠演员表?
推荐阅读
- excel - 查找一行中第一次出现的值并返回它旁边的单元格
- json - 如何将 JSON 文件导入 Angular 库?
- groovy - Groovy MarkupTemplateEngine 中的元素
- azure - 从映像创建 VM 时,Set-AZVMOperatingSystem 无法设置 TimeZone
- c# - 使用静态函数的sqlite中的线程并发
- ios - 迅速。CoreGraphics、addRects 和 fillPath 只填充 1 个矩形
- javascript - Normalizr:使用 Entity.processStrategy 方法过滤掉客户端未使用的数据是最佳实践吗?
- python-3.x - 如何修复这行代码的 TypeError。print('一年后你将是' + str(int(my_age) + 1) + '。')
- node.js - 如何在 JS 中访问如此深度嵌套的对象?[JSON]
- assembly - 此汇编代码的 C/C++ 等效项是什么?