本题提供的快写存在问题
  • 板块P11244 吻秋
  • 楼主normalpcer
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/11/3 14:42
  • 上次更新2024/11/3 14:51:22
查看原帖
本题提供的快写存在问题
745184
normalpcer楼主2024/11/3 14:42

本题提供的快写模板,在输出诸如 (short)-32768(int)-2147483648(long long)-9223372036854775808 的数据时存在问题,会输出乱码。

测试代码(以 -2147483648 为例):

#include <bits/stdc++.h>

namespace FastIO {
	char buf[1 << 21], *p1 = buf, *p2 = buf;
#define getchar() (p1 == p2 && (p1 = buf, p2 = (p1 + fread(buf, 1, 1 << 21, stdin))) == p1 ? EOF : *p1++)
	template <typename T> inline T read() { T x = 0, w = 0; char ch = getchar(); while (ch < '0' || ch > '9') w |= (ch == '-'), ch = getchar(); while ('0' <= ch && ch <= '9') x = x * 10 + (ch ^ '0'), ch = getchar(); return w ? -x : x; }
	template <typename T> inline void write(T x) { if (!x) return; write<T>(x / 10), putchar((x % 10) ^ '0'); }
	template <typename T> inline void print(T x) { if (x > 0) write<T>(x); else if (x < 0) putchar('-'), write<T>(-x); else putchar('0'); }
	template <typename T> inline void print(T x, char en) { print<T>(x), putchar(en); }
}; using namespace FastIO;
#undef getchar()

int main() {
    print(-2147483647 - 1);
    return 0;
}

编译环境:C++ 20,无优化选项,g++ 14.1.0,Windows 系统。

在控制台的代码页为 65001(此时使用 UTF-8 编码)时,会输出 -����������,其中的未知字符均为 ASCII 65533。

2024/11/3 14:42
加载中...