以编程方式将终端扩展到特定大小
Programmatically expand terminal to a specific size
在我的输出中,某些行每隔几秒钟刷新一次。如果我通过单击 F11 调整终端大小,那么输出就像我想要的那样。如果终端不够大,一些刷新的长线被分成两部分,因此,只刷新了一部分线,每次刷新线我也会得到新线。
如果我可以指定终端的默认大小(从我的程序调整终端大小(,则可以轻松避免这种情况。如果我能禁止用户在程序运行时更改终端大小,那就太好了。
while(1)
{
cout<<"Long line that is refreshed every 5s... r";
//if line is splited in two lines, r will return to beginning of that new line
//and the first part of original line would stay as it is(won't be rewrited)
sleep(5);
}
如何指定端子大小或停止端子调整大小?
某些终端仿真器(包括默认的 macOS Terminal.app(支持调整大小/移动/等以响应打印的控制序列。 这些序列是相当标准的,但并非所有终端仿真器都实现了所有这些序列。
例如:
# set terminal width to 50, height to 100
cout << "e[8;50;100t";
此答案包括其他一些可用控制序列的概述。
我认为
你不能禁止用户更改终端大小。 更好的方法是捕获每次更改窗口大小时发送到进程的SIGWINCH 信号,并使用TIOCGWINSZ/TIOCGSIZE ioctl((来获取尺寸。
相关文章:
- static_assert在宏中,但也可以扩展到可以用作函数参数的东西
- 如何在C++中定义扩展到条件语句的宏?
- 如何在<int> c++ 中将矢量打印到终端
- 使用 Pybind11 将C++扩展到 Python
- "__cplusplus"宏扩展到什么?
- 将矢量的数据扩展到指定大小(插值)
- iostream在第二源类(C )中不打印到终端
- 从C 程序传递命令到终端的问题
- 如何在不将其连接到终端的情况下运行'screen',以便我可以在C++ (qt) 应用程序中捕获输出?
- 如何将模板参数包扩展到一系列模板化参数
- AVX2 根据条件将连续元素扩展到稀疏向量?(如AVX512 VP扩展)
- 符号将11位扩展到32位
- 添加 g++ 的 -std= 标志时,C++打印到终端的速度要慢得多?
- 以编程方式将终端扩展到特定大小
- 如何使用 g++ 将≠打印到终端
- 将RCPP函数扩展到任何类型的输入向量
- C 将参数包扩展到数组元组
- 将参数包扩展到具有折叠表达式的lambda -GCC与Clang
- 我如何获得Qlabel以扩展到全宽度
- c++hdf5:如何设计易于扩展到新的复合数据类型的程序