2

I want to display these words using display statement Company's Policy But if i use so, it is considering the words as variables. I've tried using

DISPLAY "COMPANY'S POLICY"
DISPLAY 'COMPANY\'S POLICY' 

But none worked. How escape this single quote?

sample code:

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

4 回答 4

8

引用转义在 COBOL 中的工作方式与在许多其他语言中一样。尝试:

DISPLAY 'COMPANY''S POLICY'

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

DISPLAY "COMPANY'S POLICY"

使用引号作为外部字符串分隔符,允许您在文字中使用未转义的撇号

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

          DFHMDF POS=(1,23),LENGTH=30,                                X            
                INITIAL='company''s policy',                          X
                ATTRB=PROT
于 2012-04-12T14:59:32.487 回答
0

理想情况下,这必须工作

DISPLAY "COMPANY'S POLICY"
于 2012-04-12T14:17:12.397 回答
0

Enterprise COBOL 编译器支持混合引用。

这些中的任何一个都可以:

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

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

QUOTE/APOST 选项与比喻常数 QUOTE(S) 有关,它始终可以用作备份选项。

于 2012-04-14T18:07:06.983 回答
-2

这看起来像一个 BMS 宏调用。您将需要使用双撇号。

显示“公司政策”

或者

DFHMDF POS=(1,23),LENGTH=30,
INITIAL='公司'的政策' ATTRB=PROT

您还可以使用 COBOL 比喻常量(如果 APOST 编译器选项打开):

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

于 2012-04-12T20:16:24.077 回答