COBOL에서 문자열 연결 마스터하기

프로그래밍 세계에서 문자열을 처리하는 것은 일반적인 작업입니다. COBOL에서는 길이가 미리 정해지지 않은 문자열을 연결해야 하는 어려움에 직면할 수 있습니다. 이 문서는 COBOL에서 길이가 미지정인 두 문자열을 효과적으로 연결하는 방법에 대한 명확한 해결책을 제공하는 것을 목표로 합니다.

문제

사용자의 이름과 성을 처리하는 프로그램을 작업하고 있다고 가정해 보십시오. WORKING-STORAGE 섹션은 이러한 이름을 저장할 변수를 정의하지만, 불필요한 공백을 유지하지 않고 이를 전체 이름으로 연결해야 할 때 문제가 발생합니다. 예를 들어:

WORKING-STORAGE.
    FIRST-NAME    PIC X(15) VALUE SPACES.
    LAST-NAME     PIC X(15) VALUE SPACES.
    FULL-NAME     PIC X(31) VALUE SPACES.

FIRST-NAME'JOHN '로 설정되고 LAST-NAME'DOE '로 설정되었다고 가정하면, 다음과 같은 결과를 얻고자 합니다:

FULL-NAME = 'JOHN DOE                       '.

그러나 단순한 연결은 다음과 같은 결과로 이어질 수 있습니다:

FULL-NAME = 'JOHN            DOE            '.

이는 연결된 부분 사이에 불필요한 공백이 포함되므로 원하는 결과가 아닙니다. 그렇다면 이 문제를 어떻게 해결할 수 있을까요?

해결책

이 문제의 해결책은 COBOL의 STRING 문을 효과적으로 사용하는 것입니다. 이를 통해 문자열을 연결하고 불필요한 공백을 제거하기 위해 구분자를 지정할 수 있습니다. 아래는 두 문자열을 올바르게 연결하는 단계입니다.

단계별 가이드

  1. 문자열 정의: 위에 설명한 대로 WORKING-STORAGE 섹션에서 FIRST-NAME, LAST-NAME, 그리고 FULL-NAME을 정의했는지 확인합니다.

  2. STRING 문 사용: 문자열을 연결하기 위해 STRING 문을 사용할 수 있습니다. 방법은 다음과 같습니다:

    STRING
        FIRST-NAME DELIMITED BY " ",
        " ",
        LAST-NAME DELIMITED BY SIZE
    INTO FULL-NAME.
    

STRING 문 분석

  • FIRST-NAME DELIMITED BY " “: 이는 COBOL에 FIRST-NAME을 사용하고 첫 번째로 만나는 공백에서 연결을 중단하도록 지정합니다. 이렇게 하면 후행 공백이 효과적으로 제거됩니다.

  • ” “: 이는 이름과 성 사이에 단일 공백을 추가하여 두 부분이 적절하게 구분되도록 합니다.

  • LAST-NAME DELIMITED BY SIZE: 이는 전체 LAST-NAME의 길이를 연결에 포함하도록 지정하여 불필요한 후행 공백을 방지합니다.

  • INTO FULL-NAME: 이는 결과로 생성된 연결된 문자열을 FULL-NAME에 저장하도록 지시합니다.

결론

이 단계를 따라 COBOL에서 미지정 길이의 문자열을 효율적으로 연결하고 깔끔하고 포맷된 출력을 보장할 수 있게 될 것입니다. 적절한 구분자와 함께 STRING 문을 활용함으로써 COBOL은 문자열 관리 과정을 간소화하여 프로그래밍에 강력한 도구가 됩니다.

이제 다음에 COBOL에서 연결과 관련된 유사한 문제에 직면했을 때 이 방법을 confidently 적용하여 원하는 결과를 얻을 수 있을 것입니다!