如何將 10 進位數字轉換成 16 進位文字輸出?(C function sprintf)
1. 例如 RGB 顏色碼 10 進位數字為 : (128:255:192) 轉換為 16 進位文字輸出 (80:FF:C0)
2. 呼叫 C 函數 "sprintf" 是最快的方式,呼叫方式如下:
int sprintf( char *buffer, const char *format [, argument] ...);
範例程式 SPRINTFR
File : QRPGLESRC
Member : SPRINTFR
Type : RPGLE
Usage : CRTBNDRPG SPRINTFR
Call SPRINTFR
H DftActGrp(*No) BndDir('QC2LE')
D nRed S 5I 0 INZ(128)
D nGreen S 5I 0 INZ(255)
D nBlue S 5I 0 INZ(192)
D sprintf3 PR 10I 0 ExtProc('sprintf')
D szRecvVar * VALUE
D szFormat * VALUE Options(*STRING)
D Red 10I 0 Value Options(*NoPass)
D Green 10I 0 Value Options(*NoPass)
D Blue 10I 0 Value Options(*NoPass)
D szBuffer S 20A
D szColor S 256A
D pColor S *
C Eval pColor = %addr(szColor)
C CallP sprintf3(pColor : '%X:%X:%X' :
C nRed:nGreen:nBlue )
C Eval szBuffer = %str(pColor)
C szBuffer Dsply
C MOVE *ON *INLR
A blog about IBM i (AS/400), MQ and other things developers or Admins need to know.
星期二, 10月 31, 2023
2001-09-03 如何將 10 進位數字轉換成 16 進位文字輸出?(C function sprintf)
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言