برنامهای به زبان C بنویسید که با استفاده از header term.h یک صفحه متنی در ترمینال رسم کند، با کلیدهای جهتنما مکاننما را حرکت دهد، با فشردن کلید فاصله یک کاراکتر مثل '*' در موقعیت فعلی قرار دهد و با فشردن 'q' از برنامه خارج شود.
7.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:13 0.0
برای پیادهسازی از توابع مربوط به termcap/term.h (مثل tgetent، tgoto، tputs) برای حرکت دادن مکاننما و پاکسازی صفحه استفاده کنید و ورودی را با تنظیم ترمینال به حالت خام (مثلاً با termios) و خواندن توالیهای فرار برای کلیدهای جهتنما پردازش کنید. نکات مفید: بازگشت echo را خاموش کنید، بررسی حدهای صفحه برای جلوگیری از خروج مکاننما، از read یا select برای خواندن غیرمسدود یا با Timeout استفاده کنید و هر تغییر را با نوشتن مستقیم در stdout یا با tputs نمایش دهید؛ این تمرین برای آشنایی با برنامهنویسی سطح پایین رابط خطدستور و کاربردهای اولیه در سیستمهای تعبیهشده و موتورها/رندرینگ متن-محور مفید است.
2 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
خیلی خوب است که با استفاده از term.h و توابع tgetent، tgoto و tputs یک صفحه متنی در ترمینال رسم کنید و با کلیدهای جهتنما مکاننما را حرکت دهید. فراموش نکنید که ترمینال را به حالت خام با خاموشکردن echo و بازنشانی ترمینال در پایان کار ببرید تا ترمینال به حالت عادی برگردد. برای خواندن کلیدهای جهتنما از توالیهای Escape استفاده کرده و ورودی را بهطور غیرمسدود بخوانید (مثلاً با termios و VMIN/VTIME) تا با تایماوت بتوانید رفتار حرکت را کنترل کنید. همچنین اندازه صفحه را بررسی کنید تا از خروج مکاننما از مرزها جلوگیری شود و خروجی را با tputs بنویسید تا با ترمینال سازگار بماند.
گزارش