substr.cc
来自「a little DFA compiler.」· CC 代码 · 共 63 行
CC
63 行
/* $Id: substr.cc 546 2006-05-25 13:40:14Z helly $ */#include <string.h>#include <stdlib.h>#include "substr.h"#include "globals.h"#ifndef HAVE_STRNDUPchar *strndup(const char *str, size_t len){ char * ret = (char*)malloc(len + 1); memcpy(ret, str, len); ret[len] = '\0'; return ret;}#endifnamespace re2c{void SubStr::out(std::ostream& o) const{ o.write(str, len);}bool operator==(const SubStr &s1, const SubStr &s2){ return (bool) (s1.len == s2.len && memcmp(s1.str, s2.str, s1.len) == 0);}Str::Str(const SubStr& s) : SubStr(strndup(s.str, s.len), s.len){ ;}Str::Str(Str& s) : SubStr(s.str, s.len){ s.str = NULL; s.len = 0;}Str::Str() : SubStr((char*) NULL, 0){ ;}Str::~Str(){ if (str) { free((void*)str); } str = (char*) - 1; len = (uint) - 1;}} // end namespace re2c
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?