February 12, 2003 CATGETS 3

### NAME

catgets - retrieve string from message catalog

### LIBRARY

Standard C Library (libc, -lc)

### SYNOPSIS

```char``*` catgets(```nl_catd catd``, int set_id``, int msg_id``, const char *s`)

### DESCRIPTION

The catgets(``) function attempts to retrieve message ```msg_id` of set ```set_id` from the message catalog referenced by the descriptor ```catd`. The argument ```s` points to a default message which is returned if the function is unable to retrieve the specified message.

### RETURN VALUES

If the specified message was retrieved successfully, catgets(``) returns a pointer to an internal buffer containing the message string; otherwise it returns ```s`.

### ERRORS

The catgets(``) function will fail if:

[```EBADF`]
  The ```catd` argument is not a valid message catalog descriptor open for reading.

[```EINTR`]
  The operation was interrupted by a signal.

[```ENOMSG`]
  The message identified by ```set_id` and ```msg_id` is not in the message catalog.

### SEE ALSO

gencat(1), catclose(3), catopen(3), nls(7)

### STANDARDS

The catgets(``) function conforms to X/Open Portability Guide Issue 4, Version 2 (``XPG4.2'') .

Major Unix vendors are split over the adoption of the two most important message catalog specifications: catgets or gettext(3). The primary concern with the catgets interface is that every translatable string has to define a number (or a symbolic constant) which must correspond to the message in the catalog. Duplicate message IDs are not allowed. Constructing message catalogs is difficult.