从std :: cin读取二进制数据

All*_*lan 14 c++ binary stdin stream cin

将二进制(非格式化)数据读std::cin入a string或a中的最简单方法是stringstream什么?

Lou*_*nco 10

std::cin没有用ios_binary打开.如果你必须使用cin,那么你需要重新打开它,这不是标准的一部分.

这里有一些想法:http://compgroups.net/comp.unix.programmer/How-can-I-reopen-std-cin-and-std-cout-in-binary-mode.

一旦它是二进制文件,您就可以cin.read()用来读取字节.如果您知道在您的系统中,文本和二进制文件之间没有区别(并且您不需要是可移植的),那么您可以使用read而不必担心.


Mik*_*ail 7

对于Windows,您可以_setmode结合使用该功能,cin.read()如前所述.

_setmode(_fileno(stdin), _O_BINARY);
cin.read(...);
Run Code Online (Sandbox Code Playgroud)

请在此处查看解决方案来源:http://talmai-oliveira.blogspot.com/2011/06/reading-binary-files-from-cin.html