c++ - Openvms C++ - 如何将值传递给环境

标签 c++ environment-variables openvms

我正在尝试从 VMS 上的 C++ 程序传递值。

$DESCRIPTOR( lname, (char*) "A" );
$DESCRIPTOR( lvalue, (char *) "Hello World" );
lib$set_logical( &lname, &lvalue );
lib$set_symbol (&lname,&lvalue);

它应该工作吗?如果不是,我该如何纠正?

如何检查返回值?

如果成功,如何检查环境?

如果有效,是否可靠? (不依赖于权限等)。

最佳答案

没有。查看 $DESCRIPTOR 是如何定义的,在 descrip.h 中: #define $DESCRIPTOR(name,string) struct dsc$descriptor_s name = { sizeof( 字符串)-1,DSC$K_DTYPE_T,DSC$K_CLASS_S,字符串

在您的示例中,lname 和 lvalue 的第一个元素都将包含 3,从 (char*) 的大小导出,但是预期的是字符串的长度,从字符数组的大小导出。

关于c++ - Openvms C++ - 如何将值传递给环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15116452/

相关文章:

c - 在C中生成一个随机数组

c++ - 使用自定义小部件自定义 QT QTreeView

c++ - 运算符重载的未解析外部符号

c++ - dynamic_cast 导致 bad_cast 错误

variables - 是否可以将 OS env 变量放入 postman 中?

java - Java如何在Jenkins中使用环境变量?

c++ - where in 子句内的准备语句中的数组

c# - 如何使用c#获取其他进程的环境变量

在 Unix 上为 OpenVMS 编译

alpha - OpenVMS Alpha 引导扇区恢复