|
[精易模块] 数组_合并() 命令 建议 增加 或 改进
https://bbs.125.la/forum.php?mod=viewthread&tid=14655347
感谢 @汉族 提供方案.
在此方案上我稍微优化了一下.
解决了内存长度上限,长度越界,释放内存的问题.
变量名 | 类 型 | 静态 | 数组 | 备 注 | 返回文本 | 文本型 | | | 数据长度 | 整数型 | | | 指针地址 | 整数型 | | | 偏移 | 整数型 | | | i | 整数型 | | |
间隔符 = 选择 (是否为空 (间隔符 ), “,”, 间隔符 ) 计次循环首 (取数组成员数 (欲处理数组 ), i )数据长度 = 数据长度 + 取文本长度 (欲处理数组 [i ])计次循环尾 ()数据长度 = 数据长度 (取数组成员数 (欲处理数组 ) - 1 ) × 取文本长度 (间隔符 )指针地址 = 内存_申请内存 (数据长度 ) 计次循环首 (取数组成员数 (欲处理数组 ), i )如果 (取数组成员数 (欲处理数组 ) = i )数据长度 = 取文本长度 (欲处理数组 [i ])数据长度 = 取文本长度 (欲处理数组 [i ] + 间隔符 )写到内存 (欲处理数组 [i] + 间隔符, 指针地址 + 偏移, 数据长度)偏移 = 偏移 + 数据长度 计次循环尾 () 返回文本 = 取空白文本 (偏移 )内存_复制内存 (内存_取指针_文本型 (返回文本 ), 指针地址, 偏移 )内存_释放内存 (指针地址 )返回 (返回文本 )返回 (HeapAlloc (GetProcessHeap (), 8, 申请长度 )) 返回 (HeapFree (GetProcessHeap (), 0, 指针地址 ) ≠ 0 )|
内存_复制内存 | | | |
存放指针 | 整数型 | | | | 欲复制指针 | 整数型 | | | | 复制长度 | 整数型 | | | | RtlMoveMemory_整数型 (存放指针, 欲复制指针, 复制长度 )置入代码 ({ 139, 69, 8, 139, 0, 201, 194, 4, 0 })返回 (0 )
|
评分
-
参与人数 2 | 好评 +2 |
精币 +7 |
收起
理由
|
项目部004
| + 1 |
+ 5 |
共同努力,共同进步!~ |
汉族
| + 1 |
+ 2 |
共同交流,不同的方案 深受灵感 …… 妙啊~ |
查看全部评分
|