首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

控制台程序怎么显示进度

2012-03-05 
控制台程序如何显示进度?再窗口中显示进度可以用发消息的方式控制台中可不可以采用类似发消息的方式另外,

控制台程序如何显示进度?
再窗口中显示进度可以用发消息的方式

控制台中可不可以采用类似发消息的方式

另外,就像Winrar控制台自解压缩的时候显示
processing...   ...X%
X不断变化是怎么弄的?process

[解决办法]
char cr=(char)13;//回车但不换行

cout < < "Begin\n ";
for (int i=1;i <101;i++)
{
Sleep(100);
cout < <cr < < "Processing... ... " < <i < < "% ";
}
cout < < "\nEnd!\n ";

使用MFC控制台程序
[解决办法]
控制台窗口没有窗口,用不了sendmsg/postmsg,可以用sendthreadmsg/post/threadmsg。在控制台窗口里recvthreadmsg。
[解决办法]
COORD CConsole::GetPosition()
{
// 获取标准输出设备句柄
CONSOLE_SCREEN_BUFFER_INFO bInfo; // 窗口信息
GetConsoleScreenBufferInfo(_hStd, &bInfo );

return bInfo.dwCursorPosition;
}
BOOL CConsole::SetPosition(COORD coord)
{
return SetConsoleCursorPosition(_hStd,coord);
}
BOOL CConsole::OutputString(int x,int y,CString& str)
{
COORD coord = {x,y};
return TRUE==WriteConsoleOutputCharacter
( _hStd, str, str.GetLength(), coord, 0 );
}

移动光标然后输出字符串,最会在把光标改回来就行了

热点排行