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
문을 효과적으로 사용하는 것입니다. 이를 통해 문자열을 연결하고 불필요한 공백을 제거하기 위해 구분자를 지정할 수 있습니다. 아래는 두 문자열을 올바르게 연결하는 단계입니다.
단계별 가이드
-
문자열 정의: 위에 설명한 대로
WORKING-STORAGE
섹션에서FIRST-NAME
,LAST-NAME
, 그리고FULL-NAME
을 정의했는지 확인합니다. -
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 적용하여 원하는 결과를 얻을 수 있을 것입니다!