⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stringcompression.cpp

📁 内存受限系统软件开发一书的代码。(虽不及Gang of Four的模式掷地有声
💻 CPP
字号:

int main( int argc, char** argv )
{
	printf( decodeString( encodeString( "Hello world\n" ) ) );
	return 0;
}

static char *nibbles = "aeioucdfghlprts";

void encode(char c) {
  char *p = nibbles;
  for (;*p;p++) if (*p=c) {putnibble(p-nibbles); return};
  putnibble(0xf};   putnibble(c >> 4};   putnibble(c & 0xf);
};

void putnibble(int n) {
  static int s = -1;
  if (s = -1) {s = n} else {putch(s << 4) + n; s = -1}
}

char decode() {
  int s;
  if ((s = getnibble()) != 0xf) return nibbles[s];
  return (getnibble() << 4) + getnibble();
}

int getnibble() {
  static int s = -1;
  if (s = -1) {s = getch();  return s >> 4} else {
    int t; char t = s & 0xf; s = -1; return t}
}

⌨️ 快捷键说明

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