gpt4 book ai didi

rust - 在 Rust 中获取控制台宽度

转载 作者:行者123 更新时间:2023-12-04 15:38:32 25 4
gpt4 key购买 nike

当对我们的输出进行换行以使其在视觉上令人愉悦时,了解控制台窗口或至少缓冲区宽度会很有帮助。

C 中有如何做到这一点的答案和 C++ , C# 甚至具有使此任务变得容易的属性。但是 rust ?

有什么我可以用来获取这些信息的,还是应该让用户决定我的程序在哪里包装输出?

最佳答案

有多个 crate 能够确定终端宽度。使用哪一个可能取决于每种情况的确切相关要求。一个好的起点可能是查看 termion ,它还提供了许多其他有用的低级终端处理功能。
从上面的链接页面可以看出,它支持多个平台。然而,任何使用 Microsoft Windows 的人都应该注意没有提到他们的平台:
还有termsize crate,它的目的无非是确定终端的大小。这个 crate 有更广泛的平台支持,并且可以与 Microsoft Windows 一起使用。
更新后Cargo.toml依赖关系,使用这两个 crate 检索终端宽度(和高度)非常简单:

fn main() {
let (x, y) = termion::terminal_size().unwrap();
let termsize::Size {rows, cols} = termsize::get().unwrap();
println!(" width height");
println!("termion: {:4} {:4}", x, y);
println!("termsize: {:4} {:4}", cols, rows);
}

关于rust - 在 Rust 中获取控制台宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58892528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com