ILE C/C++ Run-Time Library Functions


catgets() -- Retrieve a Message from a Message Catalog

Format

#include <nl_types.h>
char *catgets(nl_catd catd, int set_id, int msg_id, char *s);

Language Level: XPG4

Threadsafe: Yes.

Description

The catgets() function retrieves message msg_id, in set set_id from the message catalog that is identified by catd. catd is a message catalog descriptor that is returned by a previous call to catopen(). The s argument points to a default message which will be returned by catgets() if the identified message cannot be retrieved.

Note:
This function is not available when either LOCALETYPE(*CLD) or SYSIFCOPT(*NOIFSIO) is specified on the compilation command.

Return Value

If the message is retrieved successfully, then catgets() returns a pointer to the message string that is contained in the message catalog. If the message is retrieved unsuccessfully, then a pointer to the default string s is returned.

The value of errno may be set to the following:

EBADF
The catalog descriptor is not valid.

ECONVERT
A conversion error occurred.

EINTR
The function was interrupted by a signal.

Example that uses catgets()


#include <stdio.h>
#include <nl_types.h>
#include <locale.h>
 
/* Name of the message catalog is "/qsys.lib/mylib.lib/msgs.usrspc" */
 
int main(void) {
 
   nl_catd msg_file;
   char * my_msg;
   char * my_locale;
 
   setlocale(LC_ALL, NULL);
   msg_file = catopen("/qsys.lib/mylib.lib/msgs.usrspc", 0);
 
   if (msg_file != CATD_ERR)  {
 
     my_msg = catgets(msg_file, 1, 2, "oops");
 
     printf("%s\n", my_msg);
 
     catclose(msg_file);
   }
}

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]