Ãëàâíàÿ > Îïåðàöèîííûå ñèñòåìû > UNIX
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ëüíûìè
Ãëàâíàÿ > Îïåðàöèîííûå ñèñòåìû > UNIX
|