Sök…
STRINGVAL ... Flytta -versus- STRING
IDENTIFICATION DIVISION.
PROGRAM-ID. STRINGVAL.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WORK-AREAS.
05 I-STRING PIC X(08) VALUE 'STRNGVAL'.
05 O-STRING PIC XBXBXBXBXBXBXBX.
88 O-STRING-IS-EMPTY VALUE SPACES.
PROCEDURE DIVISION.
GENESIS.
PERFORM MAINLINE
PERFORM FINALIZATION
GOBACK
.
MAINLINE.
DISPLAY 'STRINGVAL EXAMPLE IS STARTING !!!!!!!!!!!!!!'
DISPLAY '=== USING MOVE STATEMENT ==='
MOVE I-STRING TO O-STRING
DISPLAY 'O STRING= ' O-STRING
DISPLAY '=== USING STRING STATEMENT ==='
SET O-STRING-IS-EMPTY TO TRUE
STRING I-STRING ( 1 : 1 ) DELIMITED BY SIZE
' ' DELIMITED BY SIZE
I-STRING ( 2 : 1 ) DELIMITED BY SIZE
' ' DELIMITED BY SIZE
I-STRING ( 3 : 1 ) DELIMITED BY SIZE
' ' DELIMITED BY SIZE
I-STRING ( 4 : 1 ) DELIMITED BY SIZE
' ' DELIMITED BY SIZE
I-STRING ( 5 : 1 ) DELIMITED BY SIZE
' ' DELIMITED BY SIZE
I-STRING ( 6 : 1 ) DELIMITED BY SIZE
' ' DELIMITED BY SIZE
I-STRING ( 7 : 1 ) DELIMITED BY SIZE
' ' DELIMITED BY SIZE
I-STRING ( 8 : 1 ) DELIMITED BY SIZE
' ' DELIMITED BY SIZE
INTO O-STRING
DISPLAY 'O STRING= ' O-STRING
.
FINALIZATION.
DISPLAY 'STRINGVAL EXAMPLE IS COMPLETE !!!!!!!!!!!!!!'
.
END PROGRAM STRINGVAL.
Inte ett exempel, men ...
verkade det enda sättet att lägga till en kommentar. En sak som är lätt att glömma är att om du stränger vissa variabler som exemplet ovan, och den resulterande längden är SHORTER än vad som ursprungligen fanns i den mottagande variabeln (o-strängen ovan) så kommer "släpande" tecken kvar på plats.
Till exempel, om o-strängen innehåller "strängen innehåller dessa data" och du strängar ihop "fred & Bert", kommer o-strängen att innehålla "fred & Bertonains dessa data" (om jag räknade rätt).
Summa sammanfattning, gå in i vanan att ALLTID flytta utrymmen i din mottagande variabel innan du börjar stränga.
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow