如何在我的进程绑定到的控制台中获取行中的字符数?
Posted
技术标签:
【中文标题】如何在我的进程绑定到的控制台中获取行中的字符数?【英文标题】:how to get number of characters in line in console that my process is bind to? 【发布时间】:2011-12-24 22:58:29 【问题描述】:重新表述我的问题:以字符计的控制台宽度。
windows中默认设置为80,但用户可以更改,如何获取这个值?
【问题讨论】:
看看这个...:***.com/questions/1022957/getting-terminal-width-in-c @eharvest:这适用于 Linux,它不适用于 Windows。 【参考方案1】:您可以使用GetConsoleScreenBufferInfo
函数。
CONSOLE_SCREEN_BUFFER_INFO csbi;
if(!GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi))
// an error occourred
cerr<<"Cannot determine console size."<<endl;
else
cout<<"The console is "<<csbi.srWindow.Right-csbi.srWindow.Left<<" wide."<<endl;
【讨论】:
不应该是GetStdHandle(STD_OUTPUT_HANDLE)吗?以上是关于如何在我的进程绑定到的控制台中获取行中的字符数?的主要内容,如果未能解决你的问题,请参考以下文章