|
éíñ
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); }
ðòéíåþáîéñ
Bce apÇyÍeÎÔÙ, Úa ÉcËÌÀÞeÎÉeÍ ÉÍeÎÉ ÆaÊÌa, Ñ×ÌÑÀÔcÑ
ÎeoÂÑÚaÔeÌØÎÙÍÉ
|