| 作者 | 主题 |
|---|---|
|
小oo鱼 侠客 经验值:705 发帖数:70 精华帖:3 |
楼主
主题:string的当前字符长度? 斑竹、Automann、芳季帮忙看看,谢谢了
在S7的帮助中知道,string[4]='AB', byte0=4=最大字符长度,byte1=2=当前字符长度,byte2=A,byte2=B.但是我在变量表监视,byte1=0。这是怎么回事?
斑竹、Automann、芳季帮忙看看,谢谢了 |
|
Automann 至圣 经验值:18299 发帖数:6168 精华帖:137 |
7楼
主题:回复:string的当前字符长度? 斑竹、Automann、芳季帮忙看看,谢谢了
我找到字符串前两个字节需要由写入者管理的官方证据了。在线帮助中搜索“复杂数据类型”,双击其中的STRING,显示“数据类型STRING的格式”,其中有这样一段话程序:
必须在初次使用之前,由用户初始化数据类型STRING的动态本地数据;例如,使用STL顺序形式: LAR1 P#local_string_var // Local_string_var在VAR_TEMP中声明为STRING[200] L 200 // 输入如上指定的STRING长度 T LB [AR1, P#0.0] // 在字符串的最大长度字节中 L 5 // 字符串的实际长度 T LB [AR1, P#1.0] // 输入字符串的实际长度 看来的确不是用户用变量表在定义的字符串地址区中增、减字符后,操作系统就自动管理字符串的前两个字节。但是有两种情况可能是例外: 1. 定义字符串和它的初始字符时(见我提供的图)。 2. 如zane版主所说,执行了字符串操作的相关功能块之后,生成了新的字符串或改变了字符串的内容时。
追求完美
|