问题描述
我有这个程序:
#include <iostream>
int main() {
std::freopen(nullptr,"rb",stdin);
char buf[4];
std::fread(buf,1,4,stdin);
std::cout << buf << std::endl;
}
我认为,这可以做到以下几点。
我有一个文件test
,其中包含此4s���K$d877cc15-9569-4880-aea6-64a0466ebf3ch�
然后file -bi test
给出application/octet-stream; charset=binary
当我这样做
cat test | main
我什么也没得到。
但是,如果我创建一个包含test2
的文件test123
。然后做:
cat test2 | main
我得到:test
符合预期。
因此,这使我认为我以某种方式无法读取二进制输入。
我的问题是什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)