cobol-move语句

本文详细介绍了COBOL语言中的MOVE语句,它用于复制数据,类似于Java的set操作。MOVE语句可以复制单个数据项、不同长度的数据以及整个数据组,并解释了在不同类型和长度数据间复制时的处理规则。同时,文章强调了当源数据和目标数据在组结构中时的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MOVE是cobol程序中最常见的语句,类似于java中的set语句。
在这里插入图片描述

单个数据项的复制

01	IN-STATUS	PIC	X(5).
01	IN-GRP.
	05	IN-DATA1	PIC	x(4).
	05	IN-DATA2	PIC	X(3).
01	OUT-STATUS	PIC	PIC	X(5).

复制单个数据项讲源数据放在之前,TO连接复制之后数据。可以复制特定的值,也可以变量之间进行设值。

MOVE 	'READY'		TO	IN-STATUS
MOVE	IN-STATUS	TO	OUT-STATUS

如果两个数据源名称相同,需要指定各数据项所在的组。

01	IN-GRP.
	05	IN-DATA1	PIC	x(4).
	05	IN-DATA2	PIC	X(3).
01	OUT-GRP.
	05	IN-DATA1	PIC	x(4).
	05	IN-DATA2	PIC	X(3).
MOVE	IN-DATA1 IN IN-GRP	
	TO	IN-DATA1 IN OUT-GRP.

复制不同类型和长度的单个数据项

  • 任何数据类型到可以复制道字符数据变量中
  • 数据类型的值可以复制到任何类型的数据中

如果长度不一致
如果复制对象是字符

  • 目标数据长度大于源数据,则目标数据的右边以空格填充
  • 如果小于源数据长度,则右边超出部门进行截断

如果复制的是数据

  • 目标数据长度大于源数据,高位以0填充
  • 如果小于源数据长度,则对高位进行截断
  • 如果包含浮点数,则分开处理

复制一组数据

数据组和数据组的复制,类似于java中的设置。

  • 组内数据不许同名
  • 组内数据任意
  • 以FILLER命名的数组项不会被复制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我的天才女友

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值