有人能给我举一些例子,说明如何将来自JCL中SYSIN DD *的参数传递给c程序吗?
过去,我的JCL程序使用PARM选项将参数传递给c程序,但是PARM选项有100个字符限制,因此,需要我在JCL中使用SYSIN DD *选项。但是,我的旧c程序使用了argv参数传递样式,我不知道在使用SYSIN DD *时是否仍然适用。
这就是我以前的JCL代码的样子:
/ 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代码的样子:
//ST01 EXEC PGM=VCMBGJF
//SYSIN DD *
RBR1 FIRBS.AIC_REHBFG_FDG.BM
BGM.LOL_FDSG
""
X F GMHKD
/* 发布于 2013-08-26 18:31:29
您试过读取STDIN吗?如果是的话,它是从SYSIN返回数据还是尝试以fp = fopen("SYSIN", "r");的形式打开SYSIN?
或者,尝试将SYSIN的DD名称更改为STDIN。DD *说要从后面的文本行中提取数据。它不必被命名为SYSIN。
最后,如果所有其他操作失败,请阅读C/大型机用户指南。(我没有,那是很久以前我在大型机上写的,所以我忘记了细节。)
最后,第一个例子似乎有一些错误:
// 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语句可能会修复代码的运行。
https://stackoverflow.com/questions/18450094
复制相似问题