如何在我的进程绑定到的控制台中获取行中的字符数?

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)吗?

以上是关于如何在我的进程绑定到的控制台中获取行中的字符数?的主要内容,如果未能解决你的问题,请参考以下文章

将 DataGrid 行中的 DoubleClick 命令绑定到 VM

使用 uibmodal 控制器绑定模板视图

如何分离从表行中获取的值并将其存储在雪花中的数组中

如何在特定行中上传 MYSQL 中的照片或文件?

如何检查在我的程序运行的控制台上设置了啥字符编码?

Qt C++ - 如何成功地将数据传递给子进程?