我喜歡根據用戶的模板或ini文件向dos控制檯顯示數據信息。 例, UserTemplate.txtC++根據用戶的定義列數輸出格式到控制檯
ParamA=yes
ParamB=yes
ParamC=yes
ParamD=yes
ParamE=yes
ParamF=no
ParamG=yes
ParamH=no
..
..
我的程序將讀取該UserTemplate.txt,並希望以顯示給DOS控制檯什麼參數的用戶。
while (!file_opc.eof())
{
std::vector<std::string> v;
file_opc.getline(str,200);
cout <<"\nline"<<str<<endl;
if (strstr(str, "=") != NULL)
{
boost::algorithm::split_regex(v, str, boost::regex("=|//")) ;
cout<<"Param="<<v.at(0)<<"\nFlag="<< v.at(1)<<endl;
ParamNames.push_back(v.at(0).c_str());
ParamFlags.push_back(v.at(1).c_str());
}
}
爲列數輸出格式是可變的基於標誌(是/否)從用戶
ParamA ParamB ParamC ParamD ParamE ParamG
------ ------ ------ ------ ------ ------
123 Ack NewTx 24.0 Block 64QAM
由於ParamF和ParamH不設置NO。它不會顯示到dos控制檯。 這些「123」,「Ack」,「NewTx」等是從數據源解析的向量。我需要幫助如何基於UserTemplate.txt轉儲這些ParamX到dos控制檯
現在,我硬編碼一些參數如下。
//////////////////
cout<<"cRnti trNum ackNack harqNum RachM2 ReliTransF MCS CW1 SINRPUSCH "<<endl;
cout<<"===== ===== ======= ======= ====== ========== ======= ========= "<<endl;
SetConsoleTextAttribute(hhConsole, 15);
for (unsigned int i=0;i<RecordInMemory;i++)
{
ss<<setw(5)<<cRnti[i]<<setw(8)<<trNumCw1[i]<<setw(8)<<ackNackDtxCw1[i]<<setw(9)<<harqNumCw1[i]<<setw(10)<<pdcchOrRachM2[i]<<setw(10)<<reliableTransmissionFlag[i]<<setw(12)<<mcsIndexCw1[i]<<setw(12)<<sinrPusch[i];
cout<<ss.str()<<endl;
ss.str(std::string());
}
如果你有更好的想法來處理我的情況下,請切絲光,我很欣賞。它爲我節省了很多時間。如果您知道本網站已有解決方案,請給我一個鏈接。提前致謝。
即使進行編輯,我也弄不清第二塊關於輸出格式(A | 1,B | 2 ... F | 8,G | 9)是什麼意思,或者如何或者甚至)它應該與UserTemplate.txt中的任何內容相關。 – 2011-04-04 04:29:07
對不起傑夫。我不會透露我的程序太多的信息。我知道我的描述不清楚。謝謝你的回答。 – AndrewS 2011-04-04 04:46:56