如何在c中隐藏控制台光标?

BRH*_*HSM 2 c cursor windows-console

我有一个简单的C程序,表示控制台内的加载屏幕,但无法隐藏光标。我尝试提高睡眠功能的速度,以便重置游标计时器并且游标消失,但这不起作用。

有关如何隐藏光标的任何提示。

码:

#include <stdio.h>
#include <stdlib.h>

const int TIME = 1;

int main(int argc,char *argv[]){
    int i;
    while (1){
        printf("loading");
        for (i=0;i<3;i++){
            sleep(TIME);
            printf(".");
        }
        sleep(TIME);
        printf("\r");
        system("Cls");
        sleep(TIME);
    }
}
Run Code Online (Sandbox Code Playgroud)

Vol*_*And 9

将以下功能添加到您的程序中

#include <windows.h>

void hidecursor()
{
   HANDLE consoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
   CONSOLE_CURSOR_INFO info;
   info.dwSize = 100;
   info.bVisible = FALSE;
   SetConsoleCursorInfo(consoleHandle, &info);
}
Run Code Online (Sandbox Code Playgroud)

并在您的main.

并在MSDN 中阅读更多内容


小智 5

扩展比沙尔的答案:

隐藏光标: printf("\e[?25l");

要重新启用光标: printf("\e[?25h");

资源