ini.cpp

来自「Using the UnderC Tokenizer Class It s」· C++ 代码 · 共 45 行

CPP
45
字号
#include <iostream>
#include <string>
using namespace std;

#include <uc/tokens.h>

Tokenizer tok;

bool find_key(Tokenizer& tok, string section, string key)
{
  string sect = "[" + section + "]";
  tok.go_to(sect.c_str());
  while (tok.next()) {
    if (key == tok.get_str()) {
          tok.next();  // skip '='
          return true;
    } else tok.discard_line();
  }
  return false;
}

int get_comma_list(Tokenizer& tok, string s, string vals[], int sz)
{
  Tokenizer ts;
  ts.set_str(s.c_str());
  int i = 0;
  while (ts.next()) {
     vals[i++] = ts.get_str();
     if (i == sz) break;
     ts.next(); // skip ','
  }
  return i;
}

int main(int argc, char**argv)
{
 char buff[80];
 if (! tok.open(argv[1])) return 1;
 if (! find_key(tok,argv[2],argv[3])) return 2;
 tok.getline(buff,80);
 cout << "value is " << buff << endl;
 return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?