Server for Information Technologies Ñåðâåð ïîääåðæèâàåòñÿ
Öåíòðîì Èíôîðìàöèîííûõ Òåõíîëîãèé
(095) 932-9212, 932-9213, 939-0783
E-mail: info@citforum.ru
Ñåðâåð ñîäåðæèò ìîðå(!) àíàëèòè÷åñêîé èíôîðìàöèè CIT Forum CD-ROM

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ëüíûìè
Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT