streamtokenizer.h

来自「Think in C++ 2nd」· C头文件 代码 · 共 29 行

H
29
字号
//: C20:StreamTokenizer.h

// From Thinking in C++, 2nd Edition

// Available at http://www.BruceEckel.com

// (c) Bruce Eckel 1999

// Copyright notice in Copyright.txt

// C++ Replacement for Standard C strtok()

#ifndef STREAMTOKENIZER_H

#define STREAMTOKENIZER_H

#include <string>

#include <iostream>

#include <iterator>

  

class StreamTokenizer {

  typedef std::istreambuf_iterator<char> It;

  It p, end;

  std::string delimiters;

  bool isDelimiter(char c) {

    return 

      delimiters.find(c) != std::string::npos;

  }

public:

  StreamTokenizer(std::istream& is, 

    std::string delim = " \t\n;()\"<>:{}[]+-=&*#"

    ".,/\\~!0123456789") : p(is), end(It()),

    delimiters(delim) {}

  std::string next(); // Get next token

};

#endif STREAMTOKENIZER_H ///:~

⌨️ 快捷键说明

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