文本转义格式化源码,只写了简单的 \t\r\n,其他的自行扩展。
.版本 2
.支持库 spec
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
.局部变量 Str, 文本型
.局部变量 pStr, 整数型
.局部变量 strLen, 整数型, , , ' 本源码来自三叶资源网(www.sanye.cx)
.局部变量 n, 整数型
.局部变量 byte, 字节集
.局部变量 hMem, 整数型
.局部变量 hMemBak, 整数型
Str = “Hello\tWorld!\r\n\t\t\t-by 〞剑舞长空”
pStr = P_Str (Str)
strLen = strlen (pStr)
=
hMem = malloc (strLen)
hMemBak = hMem
memset (hMem, 0, strLen)
' 本源码来自三叶资源网(www.sanye.cx)
.计次循环首 (strLen, n)
byte = 指针到字节集 (pStr, 2)
.判断开始 (byte = { 92, 116 }) ' \t
memset (hMemBak, 9, 1)
hMemBak = hMemBak + 1
pStr = pStr + 2
.判断 (byte = { 92, 110 }) ' \r
memset (hMemBak, 10, 1)
hMemBak = hMemBak + 1
pStr = pStr + 2
.判断 (byte = { 92, 114 }) ' \n
memset (hMemBak, 13, 1)
hMemBak = hMemBak + 1
pStr = pStr + 2
.默认
memset (hMemBak, pByte (pStr), 1)
hMemBak = hMemBak + 1
pStr = pStr + 1
.判断结束
.计次循环尾 ()
调试输出 (指针到文本 (hMem))
调试输出 (指针到字节集 (hMem, 13))
free (hMem)
' 本源码来自三叶资源网(www.sanye.cx)
.子程序 WPBYTE
.参数 Address, 整数型
.参数 Byte, 字节型
置入代码 ({ 93, 139, 68, 36, 4, 138, 84, 36, 8, 136, 16, 194, 8, 0 })
.子程序 P_Str, 整数型, 公开, 取文本型指针
.参数 Str, 文本型, 参考, ' 本源码来自三叶资源网(www.sanye.cx)
置入代码 ({ 139, 69, 8, 139, 0, 137, 236, 93, 194, 4, 0 })
' _asm{
' mov eax,[ebp+08]
' mov eax,[eax]
' mov esp,ebp
' pop ebp
' ret 0x4
' }
返回 (0)
.子程序 pByte, 字节型
.参数 Ptr, 整数型
置入代码 ({ 139, 69, 8, 86, 139, 240, 184, 0, 0, 0, 0, 138, 6, 94, 201, 194, 4, 0 })
返回 (-1) ' 本源码来自三叶资源网(www.sanye.cx)
易语言文本格式化
易语言转义