如何对返回数据进行分类整理

Discussion in 'CTP' started by skyline, May 12, 2011.

  1. 比如订阅了 cu1107 和 cu1108

    char *ppInstrumentID[] = {"cu1107", "cu1108"};

    返回的行情怎么处理?怎么整理

    OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData)


    用 switch/case 吗?

    case 里面用什么?

    如果有整数的索引就好了
     
  2. 用map存储基类型指针,数据返回时通过pDepthMarketData->InstrumentID查出基类型指针,再调用相应类的虚函数处理数据
     
  3. 感谢提供思路,赶紧试试去
     
  4. void CMdSpi::OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData)
    {
    std::map<TThostFtdcInstrumentIDType, CThostFtdcDepthMarketDataField *> mapQuote;
    mapQuote[pDepthMarketData->InstrumentID] = pDepthMarketData;
    cout << mapQuote[pDepthMarketData->InstrumentID] << endl;
    }

    编译通不过,牛人指教下
     
  5. string str;
    str = pDepthMarketData->InstrumentID;
    std::map<string, CThostFtdcDepthMarketDataField *> mapQuote;
    mapQuote[str] = pDepthMarketData;
    cout << str <<" "<< mapQuote[str]->LastPrice << endl;

    用string 倒成功了