mktemp(3)

الاسم
mktemp - إنشاء اسم ملف مؤقت فريد

المكتبة
مكتبة سي المعيارية (libc، -lc)

موجز
#include <stdlib.h>

char *mktemp(char *template);

    متطلبات ماكروات اختبار الميزات لـ glibc (انظر feature_test_macros(7)):

mktemp():
    Since glibc 2.12:
        (_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200112L)
            || /* glibc >= 2.19: */ _DEFAULT_SOURCE
            || /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
    Before glibc 2.12:
        _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500

الوصف
لا تُستخدم هذه الدالة أبدًا؛ انظر الأخطاء.

تولد الدالة mktemp() اسم ملف مؤقت فريد من template. يجب أن تكون آخر ستة محارف من template هي XXXXXX وتُستبدل هذه بسلسلة محارف تجعل اسم الملف فريدًا. نظرًا لأنه سيُعدل، يجب ألا يكون template ثابت سلسلة محارف، بل يُصرح به كمصفوفة محارف.

قيمة الإرجاع
ترجع الدالة mktemp() دائمًا template. إذا أُنشئ اسم فريد، تُعدل آخر ستة بايتات من template بحيث يكون الاسم الناتج فريدًا (أي غير موجود مسبقًا). إذا تعذر إنشاء اسم فريد، يُجعل template سلسلة محارف فارغة، ويُضبط errno للإشارة إلى الخطأ.

الأخطاء

EINVAL
    آخر ستة محارف من template لم تكن XXXXXX.

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
mktemp() | سلامة الخيوط | MT-Safe

المعايير
لا شيء.

التاريخ
4.3BSD، POSIX.1-2001. أُزيل في POSIX.1-2008.

العلل
لا تُستخدم mktemp() أبدًا. تتبع بعض التطبيقات 4.3BSD وتستبدل XXXXXX بمعرف العملية الحالي وحرف واحد، بحيث يمكن إرجاع 26 اسمًا مختلفًا على الأكثر. نظرًا لأن الأسماء سهلة التخمين من ناحية، ومن ناحية أخرى هناك سباق بين اختبار وجود الاسم وفتح الملف، فإن كل استخدام لـ mktemp() يشكل خطرًا أمنيًا. يُتجنب السباق بواسطة mkstemp(3) و mkdtemp(3).

انظر أيضًا
mktemp(1), mkdtemp(3), mkstemp(3), tempnam(3), tmpfile(3), tmpnam(3)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.