关于 fwrite 一些东西
wwwidk1234 · · 科技·工程
灵感来源于这篇题解:[题解]P8423 [THUPC2022 决赛] 想象
猜想
令 fwrite(&a, 4, 1, stdout); 输出 FJOI
猜想:这个应该和二进制有关,于是转成二进制得:
稍微验证一下:
发现:将
实践
把想输出的字符串的每一个字符转成 ASCII 码,然后丢到一个变量,输出即可。
例:
转成二进制,得:
放到一个变量
long long s=113723912839495;
fwrite(&s, 8, 1, stdout); //输出 Gaming
当然,这个输出长度是有限制的,如果想输出更长的还要用多个 fwrite,比如:
typedef unsigned long long ull;
ull a=113723912839495;
ull b=35601528351008;
ull c=133506465689452;
ull d=143771263520;
fwrite(&a,8,1,stdout);
fwrite(&b,6,1,stdout);
fwrite(&c,6,1,stdout);
fwrite(&d,5,1,stdout);
输出 Gaming is a lovely boy!