برنامهای به زبان C بنویسید که با استفاده از ioctl (از هدر ) اندازه پنجره ترمینال را به صورت تعداد سطر و ستون خوانده و در خروجی چاپ کند.
3.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:54 0.0
برای حل این مسئله از هدرهای ، و استفاده کنید و ساختار winsize را با ioctl و فرمان TIOCGWINSZ پر کنید (مثال: ioctl(STDOUT_FILENO, TIOCGWINSZ, &w)). مقدار بازگشتی ioctl را کنترل کنید و در صورت موفقیت تعداد سطرها و ستونها را چاپ کنید. نکات: برنامه را در ترمینال اجرا کنید، gcc را برای کامپایل استفاده کنید و خطایابی با چاپ errno یا پیام مناسب را فراموش نکنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای خواندن اندازه پنجره ترمینال با ioctl از ساختار winsize استفاده کنید و مقادیر ws_row و ws_col را چاپ کنید. مطمئن شوید هدرهای مربوطه (<sys/ioctl.h>، <unistd.h>، <errno.h> و <stdio.h>) را اضافه کنید و نتیجه ioctl را بررسی کنید؛ در صورت موفقیت مقادیر را چاپ کنید و در غیر این صورت با errno یا perror خطا را گزارش دهید. به خاطر داشته باشید اندازه فقط زمانی معتبر است که خروجی شما به ترمینال واقعی متصل باشد (میتوانید با isatty بررسی کنید). برنامه را با gcc کامپایل کنید و در ترمینال اجرا کنید تا مقدار سطرها و ستونها را بیابید.
گزارش