[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Форматирование сообщения - Примеры

Следующая страница приводит примеры форматирования сообщения. В первом
примере, сообщение будет выводиться на stderr как:
$ print
UX:print: ERROR: argument missing
       TO FIX: Supply file name as second argument UX:print:002

Текст второго примера создается с использованием строковых функций.
Второе сообщение будет печататься на stderr как:
$ sorter junk
UX:sorter: WARNING: Cannot access the file:
             junk
       TO FIX: Make sure file names are valid.

Последний пример выдает сообщения об ошибках в соответствии с локалью.
Сначала устанавливается категория LC_MESSAGES в соответствии с
переменными среды LC_MESSAGES или LANG. Затем fmtmsg(3C) использует
gettxt(3C) для выдачи сообщений, зависящих от локали.
                  ФОРМАТИРОВАНИЕ СООБЩЕНИЯ - ПРИМЕРЫ

#include <fmtmsg.h>

fmtmsg(MM_SOFT|MM_APPL|MM_PRINT, "UX:print",
       MM_ERROR, "argument missing",
       "Supply file name as second argument",
       "UX:print:002");

strcpy(buf, "Cannot access the file:\n\t");

strcat(buf, argv[1]);

fmtmsg(MM_SOFT|MM_PRINT|MM_UTIL, "UX:sorter",
       MM_WARNING, buf,
       "Make sure file names are valid.",
       MM_NULLTAG);

setlocale(LC_MESSAGES, "");

fmtmsg(MM_SOFT|MM_APPL|MM_PRINT, "UX:request",
       MM_WARNING, gettxt("UX:3", "no input"),
       gettxt("UX:4", "enter input within 5 seconds"),
       "UX:request:134");