Hey so i'm using the pdCurses lib and stringStream to calculate and make a 5 character long string that represents a clock. It shows like 00:00, 0:00, 00.00, or 0.000. However when running my function i get an exeption thrown at this part:
if((int)time >= 10)
{
if((int)time >= 60)
{
if((int)time >= 600)
{
The exception points to this also Saying there is an access violation:
/* verify block type */
_ASSERTE(_BLOCK_TYPE_IS_VALID(pHead->nBlockUse));
Why is this happening with something as simple as an if statement? and how can i fix it? Thanks for any help! =) Also here's my function:
//////////////////////////////////////////// Refresh ///////////////////////////
void Refresh()
{
for(int r = 0;r<nrows;r++)
{
move(r,0);
instr((char*)_contents[r].c_str());
} // make sure this works later
// Insert the current time;
enum{ time_loc_y= 24, time_loc_x= 10 };
long float time = myStopwatch.ElapsedTime();
string time_s= " ";
string min; ss << (int)time%60; ss >> min;
string sec; ss << (int)time/60; ss >> sec;
if((int)time >= 10)
{
if((int)time >= 60)
{
if((int)time >= 600)
{
time_s.insert(0, min); // 00:00
time_s.insert(time_s.begin()+2, ':');
time_s.insert(4, sec);
}
else
{
time_s.insert(1, min); // 0:00
time_s.insert(time_s.begin()+2, ':');
time_s.insert(4, sec);
}
}
else
{
ss.precision(2); ss << time; // 00.00
ss >> time_s;
}
}
else
{
ss.precision(3);
ss << time; // 0.000
ss >> time_s;
}
mvinstr(time_loc_y, time_loc_x, (char*)time_s.c_str());
refresh();
}; // end of function