C++ 尝试实施基本的进度指标
我有一个模板类,用于从文本文件加载数据,我想实现一个基本的进度指示器,因为数据集非常大 代码如下:C++ 尝试实施基本的进度指标,c++,progress-bar,C++,Progress Bar,我有一个模板类,用于从文本文件加载数据,我想实现一个基本的进度指示器,因为数据集非常大 代码如下: template <class T> void loadCustomers(const char* fileName, T& container) { ifstream fin(fileName, ios_base::in); int line = 0; char c; cout <<
template <class T>
void loadCustomers(const char* fileName, T& container)
{
ifstream fin(fileName, ios_base::in);
int line = 0;
char c;
cout << "Loading " << fileName << ": ";
while (fin)
{
line++;
if (line % (custSize/10) == 0)
cout << " *";
Customer *temp;
try
{
c = fin.peek();
if (c == ios::traits_type::eof())
break;
else if (c == 'C')
temp = new Customer();
else
throw boost::bad_lexical_cast();
fin >> *temp;
container.addElementByDate(temp);
}
catch(boost::bad_lexical_cast&)
{
cerr << "Bad data found at line " << line
<< " in file "<< fileName << endl;
}
}
fin.close();
cout << endl;
}
有人知道会发生什么吗?我能做些什么来强制它在应该打印的时候打印到屏幕上?您应该刷新流以“强制”它在每次进度推进后显示数据:
cout.flush();
cout.flush();