本文整理汇总了C++中Tokeniser::init方法的典型用法代码示例。如果您正苦于以下问题:C++ Tokeniser::init方法的具体用法?C++ Tokeniser::init怎么用?C++ Tokeniser::init使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tokeniser
的用法示例。
在下文中一共展示了Tokeniser::init方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: parseFile
void ConfigManager::parseFile(QString fname){
tok.init();
tok.seterrorhandler(&tokerrorhandler);
tok.settokens(tokens);
tok.setcommentlinesequence("#");
// read the entire file!
QFile file(fname);
if(!file.open(QIODevice::ReadOnly))
throw Exception().set("could not open config file");
QByteArray b = file.readAll();
if(b.isNull() || b.isEmpty())
throw Exception().set("could not read config file");
b.append((char)0);
file.close();
const char *data = b.constData();
tok.reset(data);
bool done = false;
while(!done){
// at the top level we parse frames and
// variables
int t = tok.getnext();
switch(t){
case T_VAR:
parseVars();
break;
case T_WINDOW:
parseWindow();
break;
case T_END:
done=true;
break;
case T_PORT:
port = tok.getnextint();
break;
case T_SENDPORT:
udpSendPort = tok.getnextint();
break;
// the UDP client now sets its address from the first packet received
// but this will override it
case T_SENDADDR:
tok.getnextstring(udpSendAddr);
UDPClient::getInstance()->setAddress(udpSendAddr);
break;
case T_VALIDTIME:
DataManager::dataValidInterval = tok.getnextfloat();
break;
case T_SENDINTERVAL:
sendInterval = tok.getnextfloat();
break;
case T_UPDATEINTERVAL:
graphicalUpdateInterval = tok.getnextfloat()*1000;
break;
case T_AUDIO:
parseAudio();
break;
case T_WAYPOINT:
parseWaypoint();
break;
default:
throw UnexpException(&tok,"'var', 'frame', config data or end of file");
}
}
}