如何在cobol中显示单引号

如何在cobol中显示单引号,cobol,Cobol,我想使用display语句公司的政策来显示这些词,但如果我这样使用,它会将这些词视为变量。我试过使用 DISPLAY "COMPANY'S POLICY" DISPLAY 'COMPANY\'S POLICY' 但都不管用。如何避免这一引用 示例代码: DFHMDF POS=(1,23),LENGTH=30, INITIAL="company's policy" ATTRB=PROT 理想情况下,这必须起作用 DISPLAY "COMPANY'S POL

我想使用display语句公司的政策来显示这些词,但如果我这样使用,它会将这些词视为变量。我试过使用

DISPLAY "COMPANY'S POLICY"
DISPLAY 'COMPANY\'S POLICY' 
但都不管用。如何避免这一引用

示例代码:

DFHMDF POS=(1,23),LENGTH=30,            
   INITIAL="company's policy"
   ATTRB=PROT

理想情况下,这必须起作用

DISPLAY "COMPANY'S POLICY"

理想情况下,这必须起作用

DISPLAY "COMPANY'S POLICY"

引用转义在COBOL中可以像在许多其他语言中一样工作。尝试:

显示“公司政策”

一行中的两个撇号表示单个文字撇号字符。或:

显示“公司政策”

使用引号作为外部字符串分隔符,它允许您在文本中使用未替换的撇号

在DFHMDF(严格来说,这不是COBOL)中,只能使用撇号作为文字分隔符。在这里,您需要在一行中使用两个撇号

          DFHMDF POS=(1,23),LENGTH=30,                                X            
                INITIAL='company''s policy',                          X
                ATTRB=PROT

引用转义在COBOL中可以像在许多其他语言中一样工作。尝试:

显示“公司政策”

一行中的两个撇号表示单个文字撇号字符。或:

显示“公司政策”

使用引号作为外部字符串分隔符,它允许您在文本中使用未替换的撇号

在DFHMDF(严格来说,这不是COBOL)中,只能使用撇号作为文字分隔符。在这里,您需要在一行中使用两个撇号

          DFHMDF POS=(1,23),LENGTH=30,                                X            
                INITIAL='company''s policy',                          X
                ATTRB=PROT

这看起来像是BMS宏调用。你需要使用双撇号

显示“公司的政策”

DFHMDF位置=(1,23),长度=30,
初始值=‘公司政策’ ATTRB=PROT

还可以使用COBOL具象常量(如果启用了APAST编译器选项):


显示看起来像BMS宏调用的“公司”报价“策略”

。你需要使用双撇号

显示“公司的政策”

DFHMDF位置=(1,23),长度=30,
初始值=‘公司政策’ ATTRB=PROT

还可以使用COBOL具象常量(如果启用了APAST编译器选项):


显示“公司”报价“策略”

企业COBOL编译器支持混合报价

其中任何一项都将起作用:

显示“他说,“你好”。 显示“他说”、“你好”

显示“我累了”。 显示“我累了”


QUOTE/APAST选项与象征性的常量QUOTE有关,它始终可以用作备份选项。

企业COBOL编译器支持混合引号

其中任何一项都将起作用:

显示“他说,“你好”。 显示“他说”、“你好”

显示“我累了”。 显示“我累了”


QUOTE/APAST选项与比喻性的常量QUOTE有关,常量QUOTE始终可以用作备份选项。

我同意@Siva Charan的观点:双引号中的单引号应该可以使用。你能发布你的代码片段和编译器错误消息,让你相信一个变量是推断出来的吗?我看不到错误。但是我得到了maxcc=12。我的程序以前很好。如果您仍然有问题,请剪切/粘贴代码和确切的错误消息,以及您是如何编译的(使用单独的翻译步骤或由编译器调用)。我同意@Siva Charan:双引号中的单引号应该可以。你能发布你的代码片段和编译器错误消息,让你相信一个变量是推断出来的吗?我看不到错误。但是我得到了maxcc=12。我的程序以前很好。如果您仍然有问题,请剪切/粘贴代码和确切的错误消息,以及您是如何编译的(使用单独的翻译步骤或由编译器调用)。我已经尝试了这两种方法。但没有一个成功。第二个不被接受,第一个被接受,但这是输出:companyspolicy@Pramod第71列中有连续标记吗?你是不是漏掉了一个逗号?请看上面的例子(我做了一点修改)。我两个都试过了。但没有一个成功。第二个不被接受,第一个被接受,但这是输出:companyspolicy@Pramod第71列中有连续标记吗?你是不是漏掉了一个逗号?请参见上面的示例(我对其进行了一些修改)。OP讨论的是COBOL,不幸的是,它使用BMP汇编程序代码作为“请参见,这在这里有效”。对。因此,使用BMS几乎表明它是z/OS。在所有情况下,对于这两种情况,双撇号都会正确引用。OP谈论的是COBOL,不幸的是使用BMP汇编程序代码作为“请看,这在这里有效”。对。因此,使用BMS几乎表明它是z/OS。在所有情况下,对于这两种情况,双撇号将正确引用。