یک برنامهٔ ساده به زبان C بنویسید که با استفاده از تابع fprintf از stdio.h اطلاعات سادهٔ فرایند (شناسهٔ فرایند) و زمان جاری را در یک فایل لاگ متنی بهصورت فرمتشده و در حالت append ذخیره کند.
5.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:40 0.0
برای حل این مسأله از fopen با حالت "a" برای باز کردن/ساخت فایل لاگ و از fprintf برای نوشتن رشتهٔ فرمتشده استفاده کنید؛ پس از نوشتن حتماً fflush/ fclose را فراخوانی کنید و در صورت بروز خطا پیام مناسب روی stderr چاپ کنید. برای دریافت شناسهٔ فرایند میتوانید از getpid (unistd.h) و برای زمان جاری از time/localtime (time.h) استفاده کنید؛ این تمرین مفاهیم پایهٔ I/O فایل در برنامهنویسی سی و نکات سادهٔ مربوط به لاگنویسی در زمینهٔ Systems Programming و توسعهٔ سیستمعاملها را پوشش میدهد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکتهٔ کلیدی این تمرین استفاده از fopen با حالت «a» است تا لاگ به انتهای فایل اضافه شود. برای چاپ شناسهٔ فرایند از getpid و زمان جاری با time/localtime و fprintf استفاده کنید و حتماً پس از نوشتن fflush یا fclose را فراخوانی کنید. در صورت بروز خطا از fprintf(stderr, ...) استفاده کنید و وجود errno را بررسی کنید. در برنامههای چندفرایندی یا همزمان، همزمانی نوشتن به فایل را مدنظر قرار داده یا از مکانیزمهای همگامسازی استفاده کنید.
گزارش