با زبان C و با استفاده از هدر sys/ioctl.h برنامهای بنویسید که اندازهٔ پنجرهٔ ترمینال (تعداد سطر و ستون) را با استفاده از ioctl خوانده و نمایش دهد.
10.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:33 0.0
برای حل این مسئله از ساختار struct winsize و فراخوان ioctl با فرمان TIOCGWINSZ استفاده کنید؛ هدرهای مورد نیاز ، و را اضافه کنید و برای پارامتر فایل دسکریپتور میتوانید STDOUT_FILENO یا STDIN_FILENO را استفاده کنید. نتیجه را در اعضای ws_row و ws_col ساختار winsize بخوانید، مقدار بازگشتی ioctl را بررسی کرده و در صورت خطا پیام مناسب چاپ کنید؛ برنامه را در یک ترمینال واقعی اجرا کنید چون این فراخوان وابسته به ترمینال است.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
این روش با استفاده از ساختار struct winsize و فراخوانی ioctl با فرمان TIOCGWINSZ اندازهٔ پنجرهٔ ترمینال را میخواند و مقدار را در ws_row و ws_col قرار میدهد. هدرهای sys/ioctl.h و unistd.h را اضافه کنید و میتوانید از STDOUT_FILENO یا STDIN_FILENO برای فایل دسکریپتور استفاده کنید. مقدار بازگشتی ioctl را بررسی کنید و در صورت خطا با perror یا پیام مناسب نشان دهید. اجرای این برنامه در ترمینال واقعی لازم است چون این فراخوان به ترمینال وابسته است.
گزارش