ΠΠ΅ΡΠ½Π΅ΠΌΡΡ ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ. ΠΠΎΠΏΡΡΡΠΈΠΌ, ΡΡΠΎ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ Π±ΡΠ»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΡΡΠΎΠΊΡ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π·Π°Π±ΡΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΎΡΠΌΠ°ΡΠ°. Π ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΡΠ΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ printf() Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
printf(βthis is the skeleton of the string, %iβ); /* note: no argument. only a format string. */
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ Π·Π½Π°Π΅Ρ, ΡΡΠΎ Π΅ΠΉ Π·Π°Π±ΡΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ %i. ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΡΠΎΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΡ printf() ΠΏΡΠΎΡΡΠ΅Ρ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ ΡΡΠ΅ΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ Π²ΡΠΎΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈ ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 4 Π±Π°ΠΉΡΠ° ΠΏΠΎΠ΄ Π΅Π΅ ΡΡΠ΅ΠΊΠΎΠ²ΡΠΌ ΡΡΠ΅ΠΉΠΌΠΎΠΌ. ΠΡΠ»ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠ°ΠΌΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π΄ΠΎΡΡΡΠΏΠ½Π°, ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ ΠΈ Π»ΡΠ±ΡΠ΅ Π±Π°ΠΉΡΡ, ΠΎΠΊΠ°Π·Π°Π²ΡΠΈΠ΅ΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠΎΡΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ Π²ΡΠ²Π΅Π΄Π΅Π½Ρ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
[ [email protected] server]$ ./format_example this is the skeleton of the string, -1073742952
ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Ρ ΠΎΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ printf() Π½Π΅ Π±ΡΠ» Π·Π°Π΄Π°Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ %i , ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π² ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌΡΡ ΡΡΡΠΎΠΊΡ Π±ΡΠ»ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΡΠΈΡΠ°Π»Π° ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ ΡΡΠ΅ΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ» Π±Ρ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ Π½Π΅Π·Π°Π΄Π°Π½Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ»Π° ΠΈΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ Π±Π°ΠΉΡΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΡΠ΅Π»ΠΎΠ³ΠΎ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΡΠΈΡΠ»ΠΎ -1073742952.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΡΡ ΡΡΡΠΎΠΊΡ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠΌΠΈ ΡΠΎΡΠΌΠ°ΡΠ°, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ printf() Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΡΠ΅ΠΊΠ°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ printf() Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΡΡΠ΅ΠΊΠ° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠΌΠΈ ΡΠΎΡΠΌΠ°ΡΠ°.
ΠΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π΄Π°Π»ΡΡΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ printf() ΡΠ΅ΡΠ΅Π· Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΠΉ Π±ΡΠ΅ΡΠΈ Π² Π·Π°ΡΠΈΡΠ΅. ΠΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ°ΡΡΠΊΠΎΠ² ΠΏΠ°ΠΌΡΡΠΈ. Π’Π°ΠΊΠΈΠ΅ ΡΡΠ°ΡΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ Ρ ΠΌΠ°Π»ΠΎΠΏΠΎΠ½ΡΡΠ½ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ ΡΠΎΡΠΌΠ°ΡΠ° %n. Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ %n, ΠΈΠ·Π²Π΅ΡΡΠ½Π°Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ΅Π»ΠΎΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ΅Π»ΠΎΠ΅. ΠΠ°ΠΊ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΡΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠΈΡ ΡΡΡΠΎΠΊ, Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΎ Π΄Π°Π»Π΅Π΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π°ΡΠ°ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅ΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΠ°ΠΊ ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ?
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ Π½Π΅ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΠ΅ΡΠ²Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ printf() Π΅ΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ Π½Π΅ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½Π°Ρ ΡΡΡΠΎΠΊΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:printf(argv[1]);
ΠΡΠΈ ΡΡΠΎΠΌ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ (ΡΠ°ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ) ΡΠ°ΡΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΊΠ°ΠΊ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ°. Π Π΅ΡΠ»ΠΈ Π² ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π±ΡΠ΄ΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ Π½Π° Π½ΠΈΡ .
[ [email protected]]$ ./format_example %i -1073742936
Π§Π°ΡΡΠΎ ΡΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° ΡΠΎΠ²Π΅ΡΡΠ°Π΅ΡΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌΠΈ ΠΈΠ·-Π·Π° ΠΏΠ»ΠΎΡ ΠΎΠ³ΠΎ Π·Π½Π°Π½ΠΈΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΡΠΎΠΊ. ΠΠΎ ΠΏΠΎΡΠΎΠΉ ΡΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ΠΌ Π»Π΅Π½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°, Π½Π΅ ΡΠ΄ΠΎΡΡΠΆΠΈΠ²ΡΠ΅Π³ΠΎΡΡ Π·Π°Π΄Π°ΡΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΡΡ ΡΡΡΠΎΠΊΡ (ΡΠΎ Π΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ %s). ΠΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π±ΡΠ΅ΡΠ΅ΠΉ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΆΡΡΠ½Π°Π» ΠΈ Π²ΡΠ΄Π°ΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ΄Π°ΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π½Π΅ΡΠ΅Π΄ΠΊΠΎ Π·Π°Π±ΡΠ²Π°ΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½Π° Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π²Π½ΡΡΡΠΈ ΡΠ΅Π±Ρ ΡΡΠ½ΠΊΡΠΈΡ printf() (ΠΈΠ»ΠΈ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΡΡ ΠΈΠ· ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ printf()) ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΠΎΠ½ΠΈ ΠΏΡΠΈΠ²ΡΠΊΠ»ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡ Π΅Π΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ°ΡΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ:
error warn(errmsg);
Π Π°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠ΅. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠ΅ΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Unix ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ syslog(). Π€ΡΠ½ΠΊΡΠΈΡ syslog() ΡΠ»ΡΠΆΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΆΡΡΠ½Π°Π»Π°. (ΠΠ΅ΠΌΠΎΠ½ β ΡΠΊΡΡΡΠ°Ρ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ»ΡΠΆΠ΅Π±Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠ°Ρ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ.) ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ syslog() Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π² ΡΠ°ΠΉΠ»Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΆΡΡΠ½Π°Π»Π° Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ². ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ syslog(), ΠΊΡΠΎΠΌΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠ°ΠΊ ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. ΠΠ΅ΡΠ²ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ syslog() Π·Π°Π±ΡΠ²Π°ΡΡ ΠΈΠ»ΠΈ Π½Π΅ Π·Π½Π°ΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π² ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΡΡ ΡΡΡΠΎΠΊΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄Π°
error warn(errmsg);
ΠΡΠ»ΠΈ Π² ΡΡΡΠΎΠΊΠ΅ errmsg ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎ ΠΏΠΎΠΏΡΡΠ°Π²ΡΠ΅Π³ΠΎΡΡ Π²ΠΎΠΉΡΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΡΠΈΠΏΠΈΡΠ½ΠΎΠΉ Π°ΡΠ°ΠΊΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΠ°ΠΊ ΡΡΡΡΠ°Π½ΠΈΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ?
ΠΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠΎΡΡΠΎΠΌΡ Π½Π°ΠΈΠ»ΡΡΡΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΈΠ·Π±Π°Π²Π»Π΅Π½ΠΈΡ ΠΎΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ°ΠΏΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π±ΡΠ»ΠΈ ΠΎΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½Ρ ΠΎ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΡΡΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π°ΡΠ°ΠΊΠΈ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π½Π΅ΠΏΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ Π²ΡΠ΅ΠΎΠ±ΡΠ΅Π΅ ΠΎΡΠΎΠ·Π½Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
ΠΠ»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ² ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π½Π°ΠΈΠ»ΡΡΡΠ΅ΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΠ°Π·ΡΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠ²ΠΎΠΈΡ ΡΠΈΡΡΠ΅ΠΌ. ΠΠ»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ Π²ΡΠ΅ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ ΠΈ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π° Π²ΡΠ΅ Π»ΠΈΡΠ½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π²ΡΠΊΠ»ΡΡΠ΅Π½Ρ ΠΈΠ»ΠΈ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Ρ.
ΠΠ°ΠΉΠΊ Π€ΡΠ°Π½ΡΡΠ΅Π½ (Mike Frantzen) ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΡ Π²ΡΠ»ΠΈΠ·ΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Ρ ΡΠ΅Π»ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅Π΄ΠΎΠ΄Π΅Π»ΠΎΠΊ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°ΠΌ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡ Π»ΡΠ±ΡΠ΅ Π°ΡΠ°ΠΊΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠ° ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ ΡΠΈΡΠ»Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ printf(), Ρ ΡΠΈΡΠ»ΠΎΠΌ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ ΡΠΎΡΠΌΠ°ΡΠ° Π² ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅. ΠΡΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠ° ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Format Guard ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² Immunix, ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² ΠΠ‘ Linux.
ΠΠ°Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΡ ΠΠ°ΠΉΠΊΠ° Π€ΡΠ°Π½ΡΡΠ΅Π½Π° Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΠ°ΡΡΡΠ»ΠΊΠΈ Bugtraq ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ www.securityfocus.com/archive/1/72118. Format Guard Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ www.immunix.org/formatguard.html.Π‘ΠΏΠΎΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ Π°ΡΠ°ΠΊΠΈ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π»Ρ Π°ΡΠ°ΠΊΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ, Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΡΡΠΈΡΡ ΡΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ΅Π»Π΅ΠΉ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Π°ΡΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π²ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΠ°ΠΌΡΡΠΈ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ ΠΎΡΠΊΠ°Π· Π² ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠΈ. ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΏΠ°ΠΌΡΡΡ Π°ΡΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°. Π Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π²-ΡΡΠ΅ΡΡΠΈΡ , Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄.
...ΠΡΠΈΠ±ΠΊΠΈ ΠΈ Π·Π°ΡΠΈΡΠ°
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ
Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΎΡΠΌΠ°ΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ°. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ° Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ sprintf(), Π΅ΡΠ»ΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π΅ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° Π΄Π»ΠΈΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΡΠΎΠΊ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΎΠΉ ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠΎΠΉ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΎΡΠΌΠ°ΡΠ° %s ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ sprintf().
ΠΡΠ»ΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π²ΡΡΠ°Π²ΠΊΠ° Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΡΡ ΡΡΡΠΎΠΊΡ β ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ sprintf(), ΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ ΠΏΡΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΠΈΠ½Ρ ΠΏΠΎΠ»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π°ΡΠ°ΠΊΡΡΡΠΈΠΉ Π²ΠΊΠ»ΡΡΠΈΡ Π² ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΡΡ ΡΡΡΠΎΠΊΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅Π»ΠΎΠ³ΠΎ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ %100i, ΡΠΊΠ°Π·Π°Π² ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΈΡΠΈΠ½Ρ ΠΏΠΎΠ»Ρ ΡΠ°Π²Π½ΠΎΠΉ 100 ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌ, ΡΠΎ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π±ΡΠ΄Π΅Ρ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΌ Π½Π° 100 Π±Π°ΠΉΡ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΎΠΆΠΈΠ΄Π°Π»ΠΎΡΡ. ΠΠ°Π΄Π°Π½ΠΈΠ΅ ΡΠΈΡΠΈΠ½Ρ ΠΏΠΎΠ»Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈ ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ Π² Π±ΡΡΠ΅Ρ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, Π½Π°Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π½Π° Π΄Π»ΠΈΠ½Ρ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π½Π΅ ΡΠΏΠ°ΡΡΡ ΠΎΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ° ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄.