1

Тема: Визначення довжини рядка поточної консолі

Власне.. чи можливо таке на мові C++?

Питання:
Чи можливо визначити параметри поточної консолі?
Якщо можливо - бажано кросплатформено.
Якщо ні - хочаб щоб працювало на GNU

Цікавить власне, в першу чергу - МАКСИМАЛЬНА довжина рядку (тобто максимальна кількість символів яка може вміститись в одному рядку).
Як це визначити?

2

Re: Визначення довжини рядка поточної консолі

Консоль, у загальному випадку, може й не бути клавіатурою і екраном, а, наприклад, двома файлами. Це слід враховувати.
Кросплатформово - це означає з бібліотекою, що вміє таке робити для різних систем. В ncurses, наприклад, є метод getmaxyx.
Для Linux є ioctl.
У Windows - GetConsoleScreenBufferInfo (правда, воно витягає висоту буфера, а не поточного вікна).

Подякували: P.Y., leofun01, alexb.91843

3 Востаннє редагувалося P.Y. (06.10.2023 10:46:54)

Re: Визначення довжини рядка поточної консолі

Коли в мене виникла потреба визначити довжину рядка консольного вікна (Windows), зробив це грубим способом — запустити команду mode con і проаналізувати її вивід, де є, зокрема, інформація про ширину консольного вікна. Рішення не кросплатформне і не сішне (хоч саму програму написано на Сі, визначенням довжини рядка займається скрипт-батник, який її запускає й передає їй цю довжину як параметр; при бажанні, дії батника можна було б перекласти і на саму програму, але це все одно взаємодія з командною оболонкою), але воно працює.

Подякували: leofun011

4

Re: Визначення довжини рядка поточної консолі

Зробив з ncurses. Гарна ліба. Все вийшло. Дякую

Подякували: koala1