मैं अपने C प्रोग्राम के भीतर से टर्मिनल की चौड़ाई प्राप्त करने का एक तरीका ढूंढ रहा हूं। क्या मैं साथ आ रहा हूँ कुछ की तर्ज पर है:
#include <sys/ioctl.h>
#include <stdio.h>
int main (void)
{
struct ttysize ts;
ioctl(0, TIOCGSIZE, &ts);
printf ("lines %d\n", ts.ts_lines);
printf ("columns %d\n", ts.ts_cols);
}
लेकिन हर बार कोशिश करता हूं कि मुझे मिल जाए
austin@:~$ gcc test.c -o test
test.c: In function ‘main’:
test.c:6: error: storage size of ‘ts’ isn’t known
test.c:7: error: ‘TIOCGSIZE’ undeclared (first use in this function)
test.c:7: error: (Each undeclared identifier is reported only once
test.c:7: error: for each function it appears in.)
क्या ऐसा करने का यह सबसे अच्छा तरीका है, या बेहतर तरीका है? यदि नहीं, तो मुझे यह काम करने के लिए कैसे मिल सकता है?
EDIT: निश्चित कोड है
#include <sys/ioctl.h>
#include <stdio.h>
int main (void)
{
struct winsize w;
ioctl(0, TIOCGWINSZ, &w);
printf ("lines %d\n", w.ws_row);
printf ("columns %d\n", w.ws_col);
return 0;
}