Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用C+;中的stringstream从字符串中提取时间+;_C++_Time - Fatal编程技术网

C++ 如何使用C+;中的stringstream从字符串中提取时间+;

C++ 如何使用C+;中的stringstream从字符串中提取时间+;,c++,time,C++,Time,如何使用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 >> se

如何使用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
}
无符号整数小时;
无符号整数分钟;
无符号整数秒;
字符1;
炭柱2;
字符串AMPM;
如果(流>>小时>>冒号1>>分钟>>冒号2>>秒>>安培)
{
if(colon1==':'&&colon2==':')
{
如果((小时<12)和&(分钟<60)和&(秒<60))
{
如果(AMPM==“AM”)
{
//无所事事
}
否则如果(AMPM==“PM”)
{
小时+=12;
}
其他的
{
//发疯
}
}
其他的
{
//发疯
}
}
其他的
{
//发疯
}
}
其他的
{
//发疯
}
使用boost可能很有用