提取某一特征的字符串

从mencoder 和 ffmpeg 输出的字符串中提取需要的信息

resToken= tmp.Tokenize(_T("()"),curPos); while (resToken != _T("")) { resToken = tmp.Tokenize(_T("()"), curPos); if(resToken.GetLength()<4&&resToken.GetLength()>1&&(resToken.FindOneOf(L"1234567890%")!=-1)) { //-------------------------进度条的显示-------------------------------------------- ((CAVConvertDlg*)param)->m_list.SetItemText(i,3,resToken); swscanf(resToken.GetBuffer(),L"%d",&progressPos); ((CAVConvertDlg*)param)->m_progress.SetPos(progressPos); //-------------------------------------------------------------------------------------- } }

  //--------------------------------提取进度百分数-------------------------------------------------- resToken = tmp.Mid(tmp.Find(L"time="),tmp.Find(L" bitrate=")-tmp.Find(L"time=")); CString tt; resToken = wcstok(resToken.GetBuffer(),L"= "); while (resToken != L"") { if((resToken.FindOneOf(L"1234567890.")!=-1)) { swscanf(resToken.GetBuffer(),L"%d",&curPos); swscanf(((CAVConvertDlg*)param)->set.endtime,L"%d",&progressPos); curPos = (curPos*100)/progressPos; tt.Format(L"%d%%",curPos); { //-------------------------进度条的显示-------------------------------------------- ((CAVConvertDlg*)param)->m_list.SetItemText(i,3,tt); ((CAVConvertDlg*)param)->m_progress.SetPos(curPos); //-------------------------------------------------------------------------------------- } } }

 

你可能感兴趣的:(提取某一特征的字符串)