یک برنامهٔ ساده به زبان 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 و توسعهٔ سیستم‌عامل‌ها را پوشش می‌دهد.

توسط پژوهشگر در 202 روز قبل ساعت 02:40
دسته بندی ها: C for beginner
arash در 202 روز قبل ساعت 08:53

نکتهٔ کلیدی این تمرین استفاده از fopen با حالت «a» است تا لاگ به انتهای فایل اضافه شود. برای چاپ شناسهٔ فرایند از getpid و زمان جاری با time/localtime و fprintf استفاده کنید و حتماً پس از نوشتن fflush یا fclose را فراخوانی کنید. در صورت بروز خطا از fprintf(stderr, ...) استفاده کنید و وجود errno را بررسی کنید. در برنامه‌های چندفرایندی یا هم‌زمان، هم‌زمانی نوشتن به فایل را مدنظر قرار داده یا از مکانیزم‌های همگام‌سازی استفاده کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری