gpt4 book ai didi

c - 帮助滚动和 shell 中的行数

转载 作者:行者123 更新时间:2023-11-30 16:02:53 26 4
gpt4 key购买 nike

我正在用 C 编程,我需要知道标准输入的行数。经过一定数量的行后,我还需要向上滚动一行...我使用了 ANSI 转义码 (033[1S),但我丢失了滚动行的内容,我不想这样。

编辑:解释第二点的简单代码

#include <stdio.h>

int main(void) {
printf("one\ntwo\nthree\n");
fputs("\033[1S", stdout);
return 0;
}

最佳答案

这是 ansi escape codes 的一个很好的引用。向下滚动页面到代码表。

我相信除了“1S”之外,您可能还需要\033[1E 才能向下移动到新行。尝试一下代码。

而且我认为你可以从环境中获取线条/列。

下面的代码感谢 http://www.linuxquestions.org/questions/programming-9/linux-c-syscall-to-get-number-of-columns-of-current-terminal-250252/ 中的“Hko”

#include <sys/types.h>
#include <sys/ioctl.h>
#include <stdio.h>

int main()
{
struct winsize ws;

ioctl(1, TIOCGWINSZ, &ws);
printf("Columns: %d\tRows: %d\n", ws.ws_col, ws.ws_row);
return 0;
}

关于c - 帮助滚动和 shell 中的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4672678/

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