COBOL中如何取得一个字符串长度

比如说01INDATAPICX(200).01LENGTHPICX(004).入例的长度是不同的,我要把INDATA的实际长度判断出来并且MOVE到LENGTH里LENG... 比如说
01 INDATA PIC X(200).
01 LENGTH PIC X(004).
入例的长度是不同的,我要把INDATA的实际长度判断出来并且MOVE到LENGTH里
LENGTHOF不能用..因为返回的是变量定义的长度.
PERFORM VARYING IX FROM 1 BY 1 UNTIL IX>200
IF ( INDATA(IX:1) NOT = SPACE )
THEN
ADD 1 TO WK-COUNT1
ADD WK-COUNT2 TO WK-COUNT2
MOVE ZERO TO WK-COUNT2
ELSE
ADD 1 TO WK-COUNT2
END-IF
END-PERFORM.
展开
 我来答
songlina8303
2008-07-18 · TA获得超过458个赞
知道小有建树答主
回答量:225
采纳率:0%
帮助的人:0
展开全部
定义数组从后面往前看,第一个不为空格的数据停,所处的位置就是这条数据的长度
01 INDATA PIC X(200).
01 WK-DATA.
05 WK-DATA-B PIC X(001) OCCURS 200
01 I PIC 9(004).
01 FLG PIC X(001) VALUE '0'
MOVE INDATA TO WK-DATA
MOVE 200 TO I
PERFORM UNTIL I = 0 OR FLG = 1
IF WK-DATA-B(I) NOT = SPACE
COMPUTER I = I - 1
END-IF
END-PERFORM
MOVE I TO LENGTH
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式