如何在C++应用程序中支持输出分页
how to support output paging in C++ application
我们的应用程序可以交互方式生成一些相当长的报告文件。我们使用C++生成所有输出,但通过 TCL 控制台和 TCL 通道重定向,以便我们可以利用输出日志记录等。
是否有任何常用方法可以在C++中支持输出分页。我已经四处投掷,但什么也找不到。
最好
山 姆
好的,所以情况是你正在写信给一个Tcl解释器也在写信的Tcl_Channel
。这应该行得通。将分页放在其上的最简单方法是使该频道成为标准频道之一(我会选择stdout
),并通过 more
或 less
等寻呼机程序提供全部内容。这只需要几秒钟就可以开始工作。
编写通道;这就是反射通道(这是 Tcl 8.6 文档,但它在 8.5 中的工作方式相同)。但是,使用它来做寻呼机将是相当多的工作;通道使用字节而不是字符。也可以使用堆叠通道转换(仅限 8.6)来完成。
但是,如果将输出发送到 Tk 文本小部件是可以接受的(我知道这并不完全是你要求的......),Tcllib 中已经有一个包。
package require Tk
package require tcl::chan::textwindow
pack [text .t]
set channel [tcl::chan::textwindow .t]
puts $channel "This is a simple test."
如果将该(只写)通道传递给要使用的C++代码,则该通道将正常工作。(如果你愿意,你可以检查源代码,看看它是如何完成的;代码很短。
相关文章:
- 递归函数计算序列中的平方和(并输出过程)
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 编译时未启用intel oneApi CUDA支持
- 请解释"函数1(p1,p2,p3);"的输出
- C++:将控制台输出存储在宏中更好吗
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- POCO::PostgreSQL:如何将std::vector支持添加到`Binder::bind`
- 使用CMake检测支持的C++标准
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 为什么我的代码在输出中增加了93天
- 如何从void函数输出字符串
- 为什么istream不支持右值提取
- 输入到文件并输出到另一个文件,并将流文件传递给函数
- AES加密到解密未正确输出
- 如何将c++程序的一些输出传递给shell,以便在shell中使用
- 使用C++程序合并排序没有得到正确的输出
- C++:为什么输出迭代器不支持比较操作?
- 如何在C++应用程序中支持输出分页
- [swig-JavaScript]是否支持std::vector<std::string>*作为输出?
- 不支持缩放/固定输出分辨率