在 wincon.h 里看到有好几个版本的 ReadConsoleOutput() WriteConsoleOutput(),于是就测试,看看能不能继续保留颜色实现双缓冲刷新,发现W 可以实现,应该是字符集宽度不同,其他的读取不到这些特殊的方格字符。W结尾,是宽字符版本,适用于UTF-8,解决由于WriteConsoleOutput 默认窄字符,导致乱码或数据直接打印不出来。WriteConsoleOutputA 也是窄字符,应该是兼容旧机器的代码。要么增加缓冲清空代码,要么另外跑,其他还没来及探索代码。