| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1410 人关注过本帖
标题:VC6控制台模式下的进度条问题
只看楼主 加入收藏
yz1025
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:491
专家分:919
注 册:2012-10-26
结帖率:95.56%
收藏
已结贴  问题点数:20 回复次数:3 
VC6控制台模式下的进度条问题
1.在Linux系统安装rpm程式时,常会在中看到安装进度条,不知道那是怎做的,这功能怎在VC6中实现?
#####################100%
2.VC6中printf();是在DOS视窗中显示字符串,但是如何才能同一行显示字符串不停变换而不换行?
是要用其他函式来做吗?求提示~
搜索更多相关主题的帖子: 字符串 Linux 如何 
2013-04-09 08:29
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:18 
程序代码:
#include <windows.h>
#include <time.h>
#include <stdio.h>

void printtime( const struct tm* ptm )
{
    printf( "%04d年%02d月%02d日 %02d时%02d分%02d秒\n"
        , ptm->tm_year+1900, ptm->tm_mon+1, ptm->tm_mday
        , ptm->tm_hour, ptm->tm_min, ptm->tm_sec );
    printf( "本年第%03d天,星期%01d\n"
        , ptm->tm_yday+1, ptm->tm_wday );
}

int main( void )
{
    HANDLE hOutput = ::GetStdHandle(STD_OUTPUT_HANDLE);

    printf( "%s", "当前时间: " );
    CONSOLE_SCREEN_BUFFER_INFO screen_info;
    ::GetConsoleScreenBufferInfo( hOutput, &screen_info );

    for( time_t t1=0,t2; t2=time(0); Sleep(100) )
    {
        if(t2==t1) continue;
        t1 = t2;

        struct tm* tmo = localtime( &t1 );
        ::SetConsoleCursorPosition(hOutput,screen_info.dwCursorPosition);
        printtime( tmo );
    }

    return 0;
}
收到的鲜花
  • yz10252013-04-10 09:17 送鲜花  10朵   附言:好文章~搞定~才发现原来DOS下也能做进度条 ...
2013-04-09 08:49
fanpengpeng
Rank: 8Rank: 8
来 自:南极洲
等 级:蝙蝠侠
威 望:7
帖 子:299
专家分:849
注 册:2013-2-1
收藏
得分:2 
简单的话 可以用\r回车 不停的刷啊 土包子的做法

人生是一场错过 愿你别蹉跎
2013-04-09 08:57
yz1025
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:491
专家分:919
注 册:2012-10-26
收藏
得分:0 
哇~虽然看不太懂~要“研纠研纠”一下~
但是稍微改一下应该可以解决我的需求~
谢谢啰~

不要投我
2013-04-09 08:59
快速回复:VC6控制台模式下的进度条问题
数据加载中...
 
   



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

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