首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SYSIN DD *将参数从JCL传递给c程序

使用SYSIN DD *将参数从JCL传递给c程序
EN

Stack Overflow用户
提问于 2013-08-26 17:58:18
回答 2查看 3K关注 0票数 0

有人能给我举一些例子,说明如何将来自JCL中SYSIN DD *的参数传递给c程序吗?

过去,我的JCL程序使用PARM选项将参数传递给c程序,但是PARM选项有100个字符限制,因此,需要我在JCL中使用SYSIN DD *选项。但是,我的旧c程序使用了argv参数传递样式,我不知道在使用SYSIN DD *时是否仍然适用。

这就是我以前的JCL代码的样子:

代码语言:javascript
复制
/ SET P1='RBR1 FIRBS.AIC_REHBFG_FDG.BM '                                        
// SET P2='BGM.LOL_FDSG '                                                       
// SET P3='"" '                                                                 
// SET P4='X F GMHKD'                                                           
//ST01    EXEC PGM=VCMBGJF,                                                     
//PARM='&P1.&P2.&P3.&P4' 

这就是我的新JCL代码的样子:

代码语言:javascript
复制
//ST01    EXEC PGM=VCMBGJF
//SYSIN    DD *    
RBR1 FIRBS.AIC_REHBFG_FDG.BM                                       
BGM.LOL_FDSG                                                      
""                                                               
X F GMHKD
/* 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-26 18:31:29

您试过读取STDIN吗?如果是的话,它是从SYSIN返回数据还是尝试以fp = fopen("SYSIN", "r");的形式打开SYSIN?

或者,尝试将SYSIN的DD名称更改为STDIN。DD *说要从后面的文本行中提取数据。它不必被命名为SYSIN。

最后,如果所有其他操作失败,请阅读C/大型机用户指南。(我没有,那是很久以前我在大型机上写的,所以我忘记了细节。)

最后,第一个例子似乎有一些错误:

代码语言:javascript
复制
// SET P1='RBR1 FIRBS.AIC_REHBFG_FDG.BM '                                        
// SET P2='BGM.LOL_FDSG '                                                       
// SET P3='"" '                                                                 
// SET P4='X F GMHKD'                                                           
//ST01    EXEC PGM=VCMBGJF,PARM='&P1.&P2.&P3.&P4'
//* there should be a space between // and PARM 

我之所以提到这一点,是因为您列出的parm数据是<100个字符,所以修复PARM语句可能会修复代码的运行。

票数 1
EN

Stack Overflow用户

发布于 2013-08-27 01:16:49

您可以使用CEE3PR2 语言环境可调用服务。它的目的是向调用程序返回大于80字节的parm字符串。我相信这对z/OS 1.13来说是新的。请注意,这是不可移植的非大型机系统。当然,JCL也不是。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18450094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档