C:完整时暂停页面

时间:2016-07-24 20:11:27

标签: mysql window

我在C中创建了一个客户端数据库,而我无法找到一种方法来列出所有人,当控制台或窗口已满时,它会暂停打印到屏幕和显示一条消息,如"按一个键显示另一个页面",像vi一样可以使用单个按钮显示下一页...如果有人知道如何快速得到这个...

1 个答案:

答案 0 :(得分:-1)

您可以尝试确定控制台的行数(在Linux上:从环境中获取$ROWS变量)。然后,在打印任何内容之前尝试清除控制台。您可以使用system("cls"); //Windowssystem("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)等寻呼机