C语言显示闪屏问题
本帖最后由 一剑飘零 于 2022-9-10 11:02 编辑输出时用了cls清屏命令。可是会一直闪屏。有好的解决方法吗?或者变换一下思路。求大佬不吝赐教。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include<Windows.h>
int main(void) {
time_t start,endl;
start = time(NULL);
while (1) {
endl = time(NULL);
printf("程序总运行了%d秒", endl - start); //想让这个显示时间的一直显示,不闪屏
system("cls");
}
return 0;
} #include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include<Windows.h>
int main(void) {
time_t start,endl;
start = time(NULL);
int temp = 0;
while (1) {
endl = time(NULL);
if(endl - start != temp){
system("cls");
printf("程序总运行了%d秒", endl - start);
temp = endl - start;
}
}
return 0;
} sgbyg 发表于 2022-9-10 10:31
#include
#include
#include
{:1_893:}{:1_893:}感谢感谢。确实是好了,但是还是不定时的会闪。有没有一直不闪的?
我看加了sleep(1000).开始不闪。后面也会闪。你这个方法也是开始不闪。后面过几秒会闪几下。总体是可以了。 加了延时还闪?好吧! excess1989 发表于 2022-9-10 10:46
加了延时还闪?好吧!
刚开始不闪。到9秒后就会闪。肉眼可见的有一些闪。不是那种一直闪。是不定时的闪一次,或者两三次。小瑕疵。不影响。想求一个更彻底的从头至尾一点都不闪的。 sgbyg 发表于 2022-9-10 10:31
#include
#include
#include
这是什么原理呢?加了判断就不闪了。是因为判断需要时间? 一剑飘零 发表于 2022-9-10 11:03
这是什么原理呢?加了判断就不闪了。是因为判断需要时间?
加了判断 条件不成立就不会执行 就不会闪 断电重启吧,{:17_1065:}{:17_1065:} 可以只样解决闪屏
//隐藏光标
void HideCursor()
{
CONSOLE_CURSOR_INFO cursor_info = { 1,0 };
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
return;
}
void gotoxy(int x, int y)
{
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos;
pos.X = x;
pos.Y = y;
SetConsoleCursorPosition(handle, pos);
return;
}
加上这两个
#include <Windows.h>
HideCursor();
gotoxy(0, 0);
answdl 发表于 2022-9-10 11:33
可以只样解决闪屏
//隐藏光标
void HideCursor()
确实可行 {:1_921:}