streamtokenizer.h
来自「C++编程思想第二版第一册答案」· 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 + -
显示快捷键?