问题描述
从 std::cin
读取二进制(非格式化)数据到 string
或 stringstream
的最简单方法是什么??
What is the easiest way to read binary (non-formated) data from std::cin
into either a string
or a stringstream
?
推荐答案
std::cin
未使用 ios_binary 打开.如果你必须使用cin,那么你需要重新打开它,这不是标准的一部分.
std::cin
is not opened with ios_binary. If you must use cin, then you need to reopen it, which isn't part of the standard.
这里有一些想法:http://compgroups.net/comp.unix.programmer/How-can-I-reopen-std-cin-and-std-cout-in-binary-mode.
一旦它是二进制的,你就可以使用 cin.read()
来读取字节.如果您知道在您的系统中,文本和二进制之间没有区别(并且您不需要可移植),那么您可以放心地使用 read.
Once it's binary, you can use cin.read()
to read bytes. If you know that in your system, there is no difference between text and binary (and you don't need to be portable), then you can just use read without worrying.
这篇关于从 std::cin 读取二进制数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!