cout二进制数据

时间:2011-02-11 03:33:37

标签: c++

如果此代码片段将对象/图像保存到文件。需要修改什么来实际cout图像的二进制数据流?谢谢!

if (frame && frame->Contains(ID3FN_DATA))
  {
    cout << "*** extracting picture to file \"" << argv[2] << "\"...";
    frame->Field(ID3FN_DATA).ToFile(argv[2]);
    cout << "done" << endl;
  }

1 个答案:

答案 0 :(得分:2)

我对这个库并不熟悉,但网站上的文档表明,一旦拥有ID3_Field对象,就可以使用ID3_Field::BinSize()获取原始二进制大小和原始字节来自ID3_Field::GetRawBinary()。获得这两个参数后,您可以通过调用

将二进制数据写入任何ostream,包括cout
myOStream.write((char *)field->GetRawBinary(), field->BinSize());

我不知道这是否会起作用,因为我从未使用过这个库,但至少在直觉上这是有道理的。

希望这有帮助!