易语言到字节集c,易语言的到字节集在C++中应该如何实现

编程入门 行业动态 更新时间:2024-10-07 02:25:08

易语言到<a href=https://www.elefans.com/category/jswz/34/1769891.html style=字节集c,易语言的到字节集在C++中应该如何实现"/>

易语言到字节集c,易语言的到字节集在C++中应该如何实现

贴个代码吧   网上找到的方法,此方法非原创

inline const PBYTE ToBit(int in_value, OUT UINT& uSize)

{

//str把模板in_value值保存转换成string类型的字符串

//str1保存临时文本用于交换值

string str, str1;

//判断类型是否为整数

if (typeid(in_value) == typeid(int))

{

//保存转换16进制的文本

char hex[10];

//转换成16进制并强制显示8个字符长度

sprintf_s(hex, 10, "%.8x", in_value);

//转换成string字符串类型

str = hex;

//一个整数4个字节,所以申请一个str字符串大小(8)/2 的BYTE指针

//用作返回值

BYTE* pStr = new BYTE[str.size() / 2];

//数据容器

int* i = new int[str.size() / 2];

//读取2CHAR个为单位的字符串并转换成10进制

for (UINT ii = 0; ii < str.size() / 2; ii++)

{

//接收转换成10进制的值

int iii;

//读取子字符串

str1 = str.substr(ii * 2, 2); //读取2个字符

//把str1的值转换成10进制保存给iii变量

sscanf_s(str1.data(), "%x", &iii);//转换成10进制

//i数组把转换的10进制给临时保存其数值

i[ii] = iii;

}

//把的到的数值以内存的形式倒序保存到数组中

for (UINT ii = 0; ii < str.size() / 2; ii++)

{

//[str.size() / 2 - 1 - ii] 等于取的数组最后一个索引

//并且把值给变量iii保存

int iii = i[str.size() / 2 - 1 - ii];//倒转顺序

//把iii的值赋值给返回的pStr BYTE数组[ii]的值

pStr[ii] = iii;

//获取BYTE pStr[]的大小

uSize = uSize + 1;

}

//删除申请的堆栈地址防止内存溢出

delete[]i;

return pStr;

}

//判断类型是否为Ascii字符串

if (typeid(in_value) == typeid(const char*))

{

//文本到字节集

//把模板参数in_value转换成stirng字符串

str = in_value;

//申请一个str字符串大小的BYTE指针

//用作返回值

BYTE* pStr = new BYTE[str.size()];

//循环复制给pStr

for (UINT i = 0; i < str.size(); i++)

{

//把字符转换成无符号CHAR

pStr[i] = (BYTE)str[i];//转换成无符号字符不然出负号

//获取BYTE pStr[]的大小

uSize = uSize + 1;

}

return pStr;

}

}

更多推荐

易语言到字节集c,易语言的到字节集在C++中应该如何实现

本文发布于:2024-03-14 05:42:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1735758.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字节   易语言   该如何   中应

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!