| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1561 人关注过本帖
标题:关于在控制台输出的问题
只看楼主 加入收藏
yu965634383
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:119
专家分:195
注 册:2017-9-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
关于在控制台输出的问题
我是用vs2010写的。
麻烦运行一下代码。
我要问的问题是:时间的输出和文字的输出两者之间可不可以同时进行,有没有方法让它们不闪烁的。

# define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
# include <conio.h>
# include <windows.h>
# include <stdlib.h>
# include <time.h>

void CreateConsoleCursorPosition (COORD xy)
{
    HANDLE hOut = GetStdHandle (STD_OUTPUT_HANDLE);
    SetConsoleCursorPosition (hOut , xy);
}

void CleanConsoleScreen (COORD xy)
{
    HANDLE hOut = GetStdHandle (STD_OUTPUT_HANDLE);
    FillConsoleOutputCharacterA (hOut , ' ' , 80 , xy , NULL);
}

# define Pos(xy)    CreateConsoleCursorPosition(xy)      //define 的应用,不能有多余的空格。
# define Clean(xy)    \
         CleanConsoleScreen(xy)                            //使用 # define 是需要换行的话要用到“\”将标识符隔开
void showtime (void)
{
    struct tm *pt;
    time_t t;
    while (true && ! GetAsyncKeyState (VK_ESCAPE))
    {
        t = time (NULL);
        pt = localtime (&t);
        COORD xy = {20 , 0};
        Pos (xy);
        printf ("%d:%d:%d" , pt->tm_hour , pt->tm_min , pt->tm_sec);
        Sleep (50);
        COORD XY = {30 , 30};
        Pos (XY);
        printf ("你好");
        Sleep (50);
        Clean (XY);
        Clean (xy);
        
    }
}

int main (void)
{
    showtime ();
    return 0;
}

大家有空的话都来看看,有什么好的建议的也希望大家分享一下。

[此贴子已经被作者于2017-11-4 14:35编辑过]

搜索更多相关主题的帖子: 控制台 输出 define include void 
2017-11-04 14:26
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:20 
不闪烁试试隐藏光标
CONSOLE_CURSOR_INFO cursor_info = {1, 0};
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
打开光标
cursor_info.bVisible = 1;
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
2017-11-04 16:44
yu965634383
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:119
专家分:195
注 册:2017-9-1
收藏
得分:0 
回复 2楼 吹水佬
非常感谢您的回复。
我尝试了您的方法,但是发现还是不行,输出还是一闪一闪的。虽然如此,但是我总算有了提示,有了新的想法,接下来总算是知道该干啥了。不然总是漫无目的,不知道该如何下手。
非常感谢。

菜鸟一枚,求各位大神多多关照。
2017-11-04 19:37
快速回复:关于在控制台输出的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025406 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved