C++ 控制台程序怎么让光标旋转,正常是 | 这样的正常闪烁,要让他旋转,转动起来!
未知是要编程还是要观赏弄这花样有益处?
也可以这样写:
#include <stdio.h>
void advance_cursor() {
static int pos=0;
char cursor[4]={'/','-','\','|'};
printf("%c\b", cursor[pos]);
fflush(stdout);
pos = (pos+1) % 4;
}
int main(int argc, char **argv) {
int i;
for (i=0; i<100; i++) {
advance_cursor();
usleep(100000);
}
printf("\n");
return 0;
}
楼主,光标不能旋转,看看是不是问题描述出错了
先使用cout 输出 \b 进行退格,然受输出'-',然后再推格,在输出'/' '',就这样,一次输出这几个,然后退格,达到一种旋转的效果
先使用cout 输出 \b 进行退格,然受输出'-',然后再推格,在输出'/' '',就这样,一次输出这几个,然后退格,达到一种旋转的效果
旋转是可以那样输入字符达到效果,但是就是影响正常输入输出,控制台获得焦点就不会转动了
看看https://www.jb51.net/article/88035.htm
https://www.yisu.com/zixun/192079.html
https://www.bianchengquan.com/article/119125.html
给个参考代码:
#include<iostream>
#include<Windows.h>
using namespace std;
int main()
{
DWORD ret;
CONSOLE_SCREEN_BUFFER_INFO csbi;
HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
cout << "Hello World";
GetConsoleScreenBufferInfo(h, &csbi);
do {
WriteConsoleOutputCharacterA(h, "|", 1, csbi.dwCursorPosition, &ret);
Sleep(500);
WriteConsoleOutputCharacterA(h, "/", 1, csbi.dwCursorPosition, &ret);
Sleep(500);
WriteConsoleOutputCharacterA(h, "-", 1, csbi.dwCursorPosition, &ret);
Sleep(500);
WriteConsoleOutputCharacterA(h, "\\", 1, csbi.dwCursorPosition, &ret);
Sleep(500);
} while (true);
return 0;
}
#include <stdio.h>
#include <unistd.h>
int main()
{
setvbuf(stdout, NULL, _IONBF, 0);
printf(" ");
for (int i = 0; i < 100; i++) {
printf("\b|");
sleep(1);
printf("\b/");
sleep(1);
printf("\b-");
sleep(1);
printf("\b\\");
sleep(1);
}
return 0;
}
那个客户该不会是曾经提出主题颜色跟手机壳颜色一致的人吧?光标咋可能旋转
这是个伪命题,光标不能旋转
这个可以通过修改鼠标样式实现,实现相对的光标旋转