2015-05-08 258 views
0

我有一個簡單的C程序,它代表控制檯中的加載屏幕,但我無法獲取光標隱藏。我嘗試啓動睡眠功能的速度,以便光標計時器將被重置,光標將消失,但不起作用。如何隱藏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); 
    } 
} 
+0

我認爲你需要'在Windows/DOS conio.h',而不是'系統(「CLS」)'和這樣的,pehaps你應該能夠控制cursro太。在* nix os上有一些控制字符來做到這一點,我不知道在windows中應該是什麼。 –

+0

[隱藏遠程終端上的光標]可能的重複(http://stackoverflow.com/questions/2649733/hide-cursor-on-remote-terminal)? –

+0

@iharob,我不知道'conio.h'做了什麼,也不知道使用它時正確的語句是什麼。 – BRHSM

回答

2

添加到您的程序提供了以下功能

#include <windows.h> 

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

,並調用它在你的main

多看看在MSDN

+0

啓動時只有一小眨眼的光標,但卻產生了很酷的效果。有點像你正在啓動一個大的程序,在啓動時有點麻煩哈哈。 – BRHSM