将一个字符串写入二进制数据中
void setbinstr(int bs,int pos,str s);
//bs:二进制字符串的句柄值
//pos: 获取数据的位置,第一个字符位置为0,需要小于系统规定的字符串长度,一般系统定义1024
//s:字符串
示例
int bs; //bs是二进制数据的句柄
bs=newbin(16); //创建一个16字节的二进制数据,返回bs句柄
defbin(bs,0,"00 01 41 42 43 00 00 0A 00 0B 00 10 00 12 00 14");//赋值
str s;
s="123";
setbinstr(bs,2,s); //从2号位置写入字符串"123";
echo("\r\n");
echo(getbin(bs,2));echo("\r\n"); //asc码49,数字'1'
echo(getbin(bs,3));echo("\r\n");
echo(getbin(bs,4));echo("\r\n");
echo(getbin(bs,5));echo("\r\n");
执行结果:
sHMIctrl System Run......
49
50
51
0
注意
- 需要满足(pos位置+新字符串长度<二进制数据长度)这个条件,否则会直接返回;