Possible Duplicate:
Getting terminal width in C?
On Linux and OS X, my shell reports $COLUMNS has the width of the terminal window -- and resizing the window will adjust this shell variable.
But in my C/C++ program, getenv("COLUMNS") doesn't seem to find the variable.
Anybody have an explanation? Or an alternate suggestion for letting my C++ program figure out the width of the terminal it's running in (for some help message word wrapping)?
Perhaps something like this:
#include <sys/ioctl.h>
#include <stdio.h>
int main()
{
struct winsize w;
ioctl(0, TIOCGWINSZ, &w);
printf("lines %d\n", w.ws_row);
printf("columns %d\n", w.ws_col);
return 0;
}
Taken straight from: Getting terminal width in C?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With