c++でプログレス・バーを表示する方法

boost の boost/progress.hpp を使えばOK

#include <boost/progress.hpp>

#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/thread/thread.hpp> 

int main(int argc,char *argv[]) 
{
        const unsigned long expected_count=100;
        boost::progress_display show_progress( expected_count );
        for(int i=0; i<expected_count;++i)
        {
	     boost::this_thread::sleep(boost::posix_time::milliseconds(10));

             ++show_progress;
        }
        return 0;
} 

boost/progress.hpp 自体は追加でライブラリをリンクする必要はなく,ヘッダファイルをinclude するだけで良い

ただし上記サンプルコードは boost/thread/thread.hpp の sleepを使っているので,ビルド時に,ライブラリ libboost_thread と libboost_system のリンクする必要がある

GCCでビルドするなら

$ g++ sample.cpp -lboost_system -lboost_thread