یک برنامه C بنویسید که با استفاده از تابع tmpnam از هدر stdio.h یک نام فایل موقت تولید کند، سپس فایل متنی با آن نام ایجاد کرده، یک رشته ورودی از کاربر دریافت و در فایل ذخیره کند و در پایان مسیر فایل موقت را چاپ کند.
7.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:23 0.0
برای حل این مسأله در C هدر stdio.h را اضافه کنید و از L_tmpnam و tmpnam استفاده کنید (مثلاً char name[L_tmpnam]; tmpnam(name);). مقدار بازگشتی یا محتویات بافر را بررسی کنید، سپس با fopen(name, "w") فایل را باز کنید، متن ورودی کاربر را با fprintf یا fputs بنویسید و فایل را با fclose ببندید و در نهایت نام فایل را با printf چاپ کنید. توجه داشته باشید که tmpnam در محیطهای تولیدی ممکن است مشکلات رقابتی داشته باشد؛ برای کاربردهای حساس در توسعه سیستمعامل یا سیستمهای تولیدی از روشهای امنتری مثل mkstemp یا tmpfile استفاده کنید و همیشه خطاها را بررسی کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
استفاده از تابع tmpnam برای نامگذاری فایلهای موقت به دلیل وجود رقابت بین فرایندها خطرناک است. برای کاربردهای حساس، از mkstemp یا tmpfile استفاده کنید تا نام فایل امن و باز شدن فایل به طور ایمن انجام شود. حتماً خطاها را بررسی کنید و نتیجه بازگشتی تابع را کنترل کنید، همچنین پس از نوشتن فایل آن را با fclose ببندید. در نهایت به جای اعتماد کامل به tmpnam، بهتر است راهحلهای امنتری را ترجیح دهید و مستندات را مرور کنید.
گزارش