MKSTR(1)
XENIX System V (21 èþíÿ 1987)

ÈÌß
mkstr - coçäaíèe ôaéëa c òeêcòaìè cooáùeíèé

ÑÈÍÒÀÊÑÈÑ


      mkstr [ - ] messagefile prefix file ...

ÎÏÈÑÀÍÈÅ
Mkstr ècïoëüçyeòcÿ äëÿ coçäaíèÿ ôaéëoâ c òeêcòaìè cooáùeíèé oá oøèáêax. Ee ïpèìeíeíèe ìoæeò çía÷èòeëüío coêpaòèòü paçìep ïpoãpaììû c áoëüøèì êoëè÷ecòâoì äèaãíocòè÷ecêèx cooáùeíèé è cíèçèòü íaãpyçêy ía cècòeìy ça c÷eò ycòpaíeíèÿ íeoáxoäèìocòè ïocòoÿíío âûãpyæaòü è çaãpyæaòü òeêcò cooáùeíèé.

Mkstr oápaáaòûâaeò êaæäûé yêaçaííûé ôaéë file, ïoìeùaÿ oápaáoòaííyþ âepcèþ âxoäíoão ôaéëa â äpyãoé ôaéë, ÷üe èìÿ cocòoèò èç ïpeôèêca prefix è ïepâoía÷aëüíoão èìeíè ôaéëa. Tèïè÷íaÿ êoìaíäa mkstr âûãëÿäèò cëeäyþùèì oápaçoì:


     mkstr pistrings xx *.c

Ýòa êoìaíäa ïpèâoäèò ê òoìy, ÷òo âce cooáùeíèÿ èç ôaéëoâ ía Cè, xpaíÿùèxcÿ â òeêyùeì êaòaëoãe, áyäyò ïoìeùeíû â ôaéë pistrings, a oápaáoòaííûe êoïèè ècxoäíûx ôaéëoâ áyäyò íaxoäèòücÿ â ôaéëax c ïpeôèêcaìè xx.

Äëÿ oápaáoòêè cooáùeíèé â ècxoäíûx ôaéëax mkstr èùeò âo âxoäíoì ïoòoêe còpoêy `error("'. Ïpè ee oáíapyæeíèè còpoêa, ía÷èíaþùaÿcÿ c `"', ïoìeùaeòcÿ â ôaéë, äoïoëíÿeìaÿ íyëeâûì cèìâoëoì è ïepeâoäoì còpoêè. Hyëeâoé cèìâoë ïoçâoëÿeò yïpocòèòü ïpoöeäypy èçâëe÷eíèÿ còpoê, ïepeâoä còpoêè ïoçâoëÿeò äëÿ ïpocìoòpa coäepæèìoão ôaéëa cooáùeíèé ïpèìeíÿòü ïpoãpaììy cat. Oápaáoòaííaÿ êoïèÿ ècxoäíoão òeêcòa ïpoãpaììû coäepæèò ycòaíoâêy yêaçaòeëÿ c ïoìoùüþ ôyíêöèè lseek âíyòpè ôaéëa, èç êoòopoão èçâëeêaþòcÿ cooáùeíèÿ. Ïpoãpaììècò äoëæeí íaïècaòü ôyíêöèþ error, êoòopaÿ oòêpûâaeò ôaéë cooáùeíèé, ÷èòaeò èç íeão còpoêy è âûâoäèò ee. Cëeäyþùèé ïpèìep èëëþcòpèpyeò ýòoò ïoäxoä.


     char efilname[] =  "/usr/lib/pi_strings";

     int  efil = -1;

     error(a1, a2, a3, a4)

     {

          char buf[256];

          if (efil < 0) {

               efil = open(efilname, 0);

               if (efil < 0) {

     oops:

                    perror(efilname);

                    exit(1);

               }

          }

          if (lseek(efil, (long) a1, 0) || read(efil, buf, 256) <= 0)

               goto oops;

          printf(buf, a2, a3, a4);

     }

ÑÌ. ÒÀÊÆÅ
lseek(2), xstr(1)

ÏÐÈÌÅ×ÀÍÈß
Bce apãyìeíòû, ça ècêëþ÷eíèeì èìeíè ôaéëa, ÿâëÿþòcÿ íeoáÿçaòeëüíûìè