I have a simple C program that represents a loading screen within the console, but I can't get the cursor to hide. I tried cranking up the speed of the sleep function so that the cursor timer would be reset and the cursor would be gone but that doesn't work.
Any tips on how to hide the cursor?
Code:
#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);
}
}
To extend on Bishal's answer:
To hide the cursor:
printf("\e[?25l");
To re-enable the cursor:
printf("\e[?25h");
Source
Add to your program the following function
#include <windows.h>
void hidecursor()
{
HANDLE consoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO info;
info.dwSize = 100;
info.bVisible = FALSE;
SetConsoleCursorInfo(consoleHandle, &info);
}
and call it in your main
.
And read more in the MSDN
printf("\e[?25l");
This should work ! It is taken from ANSI codesheet where the characters are not just what they are seen. They act like some form of commands.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With