<b>#include <stdio.h></b><b>char *tmpnam(char *s);</b>Π€ΡΠ½ΠΊΡΠΈΡ
tmpnamsNULLL_tmpnamtmpnamTMP_MAXΠΡΠ»ΠΈ, Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π°Π·Π²Π°ΡΡ Π΅Π³ΠΎ ΠΈ ΠΎΡΠΊΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ
tmpfiletmpnamtmpfile<b>#include <stdio.h></b><b>FILE* tmpfile(void);</b>Π€ΡΠ½ΠΊΡΠΈΡ tmpfile Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΠΎΡΠΎΠΊΠ°, ΡΡΡΠ»Π°ΡΡΠΈΠΉΡΡ Π½Π° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ». Π€Π°ΠΉΠ» ΠΎΡΠΊΡΡΡ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ (Ρ ΠΏΠΎΠΌΠΎΡΡΡ
fopenw+Π ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ
tmpfileNULLerrnoΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΈ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ:
#include <stdio.h>#include <stdlib.h>int main() {Β char tmpname[L_tmpnam];Β char* filename;Β FILE *tmpfp;Β filename = tmpnam(tmpname);Β printf("Temporary file name is: %s\n", filename);Β tmpfp = tmpfile();Β if (tmpfp) printf("Opened a temporary file OK\n");Β else perror("tmpfile");Β exit(0);}ΠΠΎΠ³Π΄Π° Π²Ρ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΠ΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ tmpnam.Ρ, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°, ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ
tmpnam$ <b>./tmpnam</b>Temporary file name is: /tmp/file2S64zcOpened a temporary file OKΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ
tmpnamtmpfiletmpnamΠ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²Π΅ΡΡΠΈΡΡ UNIX ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈΠΌΠ΅Π½ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² β Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ
mktempmkstemptmpnam<b>#include <stdlib.h></b><b>char *mktemp(char *template);</b><b>int mkstemp(char *template);</b>Π€ΡΠ½ΠΊΡΠΈΡ mktemp ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°
templatetemplateΠ₯mktempΠ₯NULLΠ€ΡΠ½ΠΊΡΠΈΡ
mkstemptmpfilemktempΠ Π²Π°ΡΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ "ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ ΠΎΡΠΊΡΡΡΡ"
tmpfilemkstemptmpnammktempΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅
ΠΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΠ‘ Linux Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ init, Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ. Π Π³Π»Π°Π²Π΅ 11 Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, ΡΠ΅Π°Π³ΠΈΡΡΡΡΠ΅ΠΉ Π½Π° ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΡ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΡΡΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΈΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ°ΡΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΡΡΠ½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅, ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΠ΅ΠΌ Π΅Π΅.
ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Linux, Ρ Π½Π΅Π³ΠΎ ΠΈΠ»ΠΈ Ρ Π½Π΅Π΅ Π΅ΡΡΡ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Ρ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°. Π ΡΠΈΡΡΠ΅ΠΌΠ΅ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ UID (user identifier). ΠΠ°ΠΆΠ΄Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠ°Ρ Linux, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ Π½Π΅ΠΉ UID.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ ΠΎΠ½ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. ΠΡΠ»ΠΈ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΅ΡΡΡ ΡΠ²ΠΎΠΉ Π½Π°Π±ΠΎΡ ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ° Π΄Π»Ρ UID, ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° su, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ ΠΎΠ½Π° Π·Π°ΠΏΡΡΠ΅Π½Π° ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΏΡΠ°Π²ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ UID Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ. ΠΡΠΎΡ ΠΏΡΠΈΠ΅ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°ΠΌΠΈ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ.