如何在 C++ 中使用 stringstream 从字符串中提取时间
How can I extract the time from a string using stringstream in C++
如何使用 stringstream 从类似于此的输入中提取小时、分钟、秒和 AM/PM 字符串?
输入:
07:05:45PM
大致如下:
unsigned int hour;
unsigned int minute;
unsigned int second;
char colon1;
char colon2;
string AMPM;
if (stream >> hour >> colon1 >>minute >> colon2 >> second >> AMPM)
{
if (colon1 == ':' && colon2 == ':')
{
if ((hour < 12) && (minute < 60) && (second < 60))
{
if (AMPM == "AM")
{
// do nothing
}
else if (AMPM == "PM")
{
hour += 12;
}
else
{
//freak out
}
}
else
{
//freak out
}
}
else
{
//freak out
}
}
else
{
//freak out
}
如何使用 stringstream 从类似于此的输入中提取小时、分钟、秒和 AM/PM 字符串?
输入:
07:05:45PM
大致如下:
unsigned int hour;
unsigned int minute;
unsigned int second;
char colon1;
char colon2;
string AMPM;
if (stream >> hour >> colon1 >>minute >> colon2 >> second >> AMPM)
{
if (colon1 == ':' && colon2 == ':')
{
if ((hour < 12) && (minute < 60) && (second < 60))
{
if (AMPM == "AM")
{
// do nothing
}
else if (AMPM == "PM")
{
hour += 12;
}
else
{
//freak out
}
}
else
{
//freak out
}
}
else
{
//freak out
}
}
else
{
//freak out
}