Exemplo n.º 1
0
void FileParser::saveWordDic(const QStringList &keyvalue)
{
    QString key = keyvalue.at(0);
    QString value = keyvalue.at(1);
    WordDict wordKeyMap(key, 0);
    int i;
    for (i = 1; i < INT_MAX; i++) {
        wordKeyMap.set_index(i);
        if (keymap.find(wordKeyMap) == keymap.end()) {
            keymap.insert(wordKeyMap, value);
            break;
        }
    }
    if (i == 1 && keymap.find(WordDict(key, 2)) == keymap.end()) // 防止set集合中key已存在,只是WordDict(key,1)已被删除。
        validKey.insert(key);
    if (i == INT_MAX) {
        qDebug() << "f**k the key,it's too much";
        return;
    }
}
Exemplo n.º 2
0
QMap<WordDict, QString>::iterator FileParser::saveWordDic(const QStringList &keyvalue)
{
  QString key = keyvalue.at(0);
  QString value = keyvalue.at(1);
  WordDict wordKeyMap(key, 0);
  QMap<WordDict, QString>::iterator iter;
  int i;
  for (i = 1; i < INT_MAX; i++) {
    wordKeyMap.set_index(i);
    if (keymap.find(wordKeyMap) == keymap.end()) {
      iter = keymap.insert(wordKeyMap, value);
      break;
    }
  }
  if (i == 1) //NOTE::if not existed, add it to the code table set
    validKey.insert(key);

  if (i == INT_MAX) {
    qDebug() << "f**k me,please. too much keys now, it must be a bug?";
    return 0;
  }
  return iter;
}