یک برنامهٔ C بنویسید که یک خط دستور را با fgets از stdin بخواند و نام فرمان و آرگومان‌های آن را جدا کرده و هر کدام را در یک سطر جدا چاپ کند.

5.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:28

0.0

از stdio.h و تابع fgets برای خواندن امن رشته از ورودی استفاده کنید (با اندازهٔ بافر مشخص)، سپس نویسهٔ newline انتهایی را حذف کنید و با استفاده از توابع رشته‌ای مانند strtok (string.h) رشته را بر اساس فاصله یا تب تقسیم کنید. بررسی کنید که fgets مقدار NULL برنگرداند، بافر را از پیش اندازه‌گذاری کنید تا overflow رخ ندهد و برای پردازش آرگومان‌ها فضا و چاپ هر توکن را در یک خط جدا اختصاص دهید—این تمرین پایه‌ای در پردازش ورودی شل و مفاهیم Systems Programming/OS Development است.

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

نکتهٔ کلیدی این تمرین استفاده از fgets با بافر امن است و حتما مقدار NULL برگشتی را بررسی کنید. پس از خواندن باید انتهای newline را حذف یا جایگزین کنید تا چاپ هر توکن صحیح باشد. برای تفکیک فرمان و آرگومان‌ها از strtok استفاده کنید و هر توکن را در یک خط چاپ کنید؛ برای ایمنی بیشتر می‌توانید از strtok_r استفاده کنید. در نهایت به ورودی‌های خالی یا با فضاهای تکراری توجه کنید و اندازهٔ بافر و مدیریت آرگومان‌ها را به دقت رعایت کنید.

گزارش

1 پاسخ

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

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