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