我在C中创建了一个客户端数据库,而我无法找到一种方法来列出所有人,当控制台或窗口已满时,它会暂停打印到屏幕和显示一条消息,如"按一个键显示另一个页面",像vi一样可以使用单个按钮显示下一页...如果有人知道如何快速得到这个...
答案 0 :(得分:-1)
您可以尝试确定控制台的行数(在Linux上:从环境中获取$ROWS
变量)。然后,在打印任何内容之前尝试清除控制台。您可以使用system("cls"); //Windows
或system("clear") //Linux
来电或使用ASCII字符printf("\033[2J");
。这可确保您将从第一行开始。
现在你可以简单地使用这样的循环:
for(int x = 0; x < TOTAL_ELEMENTS; x++)
{
if(x < COLS)
{
puts(rows[x]);
}
else
{
printf("Press [ENTER] to show the next line")
getchar();
printf("\033[F\r"); // Go to beginning of previous line to override (Not that portable)
puts(rows[x]);
}
}
否则,你可以像@Eugene在其评论中所建议的那样使用more
(Windows / Linux)或most
/ less
(Linux)等寻呼机