This example demonstrate the insertion of the variable text into a message.

#define INCL_DOSMISC    /* Miscellaneous values */
#define INCL_DOSERRORS  /* DOS Error values */
#include <os2.h>
#include <stdio.h>
#include <string.h>

int main(VOID) {
UCHAR   *IvTable[3] = {0};                   /* Table of variables to insert */
UCHAR   MsgInput[30] = "Processing for %1: %2 has %3. ";
UCHAR   DataArea[80]= "";                    /* Output message area */
ULONG   MsgLength   = 0;                     /* Length of returned message */
APIRET  rc          = 0;                     /* Return code */
int     LoopCtr     = 0;                     /* for loop counter */

IvTable[0] = "function";
IvTable[1] = "DosInsertMessage";
IvTable[2] = "started";

               /* Insert strings in proper variable fields */

rc = DosInsertMessage(IvTable,             /* Message insert pointer array */
                      3,                   /* Number of inserts */
                      MsgInput,            /* Input message */
                      strlen(MsgInput),    /* Length of input message */
                      DataArea,            /* Output area for message */
                      sizeof(DataArea),    /* Size of output area */
                      &MsgLength);        /* Length of output message created */
if (rc != NO_ERROR) {
   printf("DosInsertMessage error: return code = %u\n", rc);
   return 1;
}

printf("%s\n", DataArea);   /* Print the resulting message */

return NO_ERROR;
}


[Back] [Next]