midrange.com code scratchpad |
Name:
Sprintf in RPGLE.
|
Scriptlanguage:
Plain Text
|
Tabwidth:
4
|
Date:
10/20/2021 08:00:12 pm
|
IP:
Logged
|
|
Description:
Sample of doing sprintf from rpgle. I have a note in my original tests to not try and do number. Too much of a pain. Not sure why.
|
Code:
- **Free
-
- // Testing Sprintf
-
- Dcl-Pr Sprintf int(10) Extproc(*Cwiden:'sprintf');
- ReturnValue Pointer Value Options(*String);
- FormatString Pointer Value Options(*String);
- Sub1 Pointer Value Options(*String:*Nopass);
- Sub2 Pointer Value Options(*String:*Nopass);
- Sub3 Pointer Value Options(*String:*Nopass);
- Sub4 Pointer Value Options(*String:*Nopass);
- End-Pr;
-
- Dcl-S Result Char(50);
- Dcl-S Sample Char(50);
- Dcl-S MyString Char(20);
- Dcl-S Mystring2 Char(10);
- Dcl-S Mystring3 Char(60);
- Dcl-S Rc Int(10);
-
- Sample = '#1 is %s';
- Mystring = '12';
- Rc = Sprintf(%addr(Result):Sample:Mystring);
- If Rc > 0;
- Dsply Result;
- Else;
- Dsply 'Failed';
- EndIf;
-
-
- Sample = '#1 is %s and #2 is %s';
- Mystring2 = ' 1 3 ';
- Rc = Sprintf(%addr(Result)
- :Sample
- :%Trim(Mystring)
- :%Trim(Mystring2));
- If Rc > 0;
- Dsply Result;
- Else;
- Dsply 'Failed';
- EndIf;
- Sample = '#1 is %s and #2 is %s and #3 is %s';
- Mystring3 = 'Abcde';
- Rc = Sprintf(%addr(Result)
- :Sample
- :%Trim(Mystring)
- :%Trim(Mystring2)
- :%Trim(Mystring3));
- If Rc > 0;
- Dsply Result;
- Else;
- Dsply 'Failed';
- EndIf;
-
- *Inlr = *On;
- Return;
|
|
|