首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ubuntu GnuCobol货币符号"£“会导致编译错误。

Ubuntu GnuCobol货币符号"£“会导致编译错误。
EN

Stack Overflow用户
提问于 2019-03-03 22:07:25
回答 1查看 294关注 0票数 6

在Ubuntu18.10上使用GnuCOBOL 2.2.0。完成Michael的“程序员开始COBOL”。在第9章之前,GnuCOBOL一直在无忧无虑地编写本书的示例,直到第9章这个程序:

代码语言:javascript
复制
IDENTIFICATION DIVISION.
PROGRAM-ID. Listing9-2.
AUTHOR. Michael Coughlan.

ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
    CURRENCY SIGN IS "£".
DATA DIVISION.
WORKING-STORAGE SECTION.
01 Edit1    PIC £££,££9.99.

PROCEDURE DIVISION.
Begin.
    MOVE 12345.95 TO Edit1
    DISPLAY "Edit1 = " Edit1
    STOP RUN.

...throws在试图编译时出现以下错误:

代码语言:javascript
复制
~/Documents/COBOL$ cobc -x -free Listing9-2.cbl
Listing9-2.cbl: 8: error: PICTURE SYMBOL for CURRENCY must be one character long
Listing9-2.cbl: 11: error: invalid PICTURE character '�'
Listing9-2.cbl: 11: error: invalid PICTURE character '�'
Listing9-2.cbl: 11: error: invalid PICTURE character '�'
Listing9-2.cbl: 11: error: invalid PICTURE character '�'
Listing9-2.cbl: 11: error: invalid PICTURE character '�'
Listing9-2.cbl: 11: error: invalid PICTURE character '�'
Listing9-2.cbl: 11: error: invalid PICTURE character '�'
Listing9-2.cbl: 11: error: invalid PICTURE character '�'
Listing9-2.cbl: 11: error: invalid PICTURE character '�'
Listing9-2.cbl: 11: error: invalid PICTURE character '�'
Listing9-2.cbl: in paragraph 'Begin':
Listing9-2.cbl: 15: error: invalid MOVE statement

如果将所有by字符替换为$,则编译成功。问题是GnuCOBOL不支持英镑签名吗?或者,你需要用不同的方式输入它,而不仅仅是按下键盘上的“on”键吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-03 22:31:43

正如编译器所言:

货币的图片符号必须是一个字符长。

所以在源文件中找到的£不是一个字符长--我假设您使用了UTF-8编码,而且GnuCOBOL不直接支持任何多字节的源代码编码(只要在任何地方都没有“大小溢出”,您实际上就可以摆脱它)。

如果可能的话,我建议将编码更改为ISO-8859-15,这是一个包含磅号的单字节编码。

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

https://stackoverflow.com/questions/54974226

复制
相关文章

相似问题

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