Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 二进制数据_C++ - Fatal编程技术网

C++ 二进制数据

C++ 二进制数据,c++,C++,如果此代码片段将对象/图像保存到文件中。需要修改什么才能使其真正cout图像的二进制数据流?谢谢 if (frame && frame->Contains(ID3FN_DATA)) { cout << "*** extracting picture to file \"" << argv[2] << "\"..."; frame->Field(ID3FN_DATA).ToFile(argv[2]); co

如果此代码片段将对象/图像保存到文件中。需要修改什么才能使其真正
cout
图像的二进制数据流?谢谢

if (frame && frame->Contains(ID3FN_DATA))
  {
    cout << "*** extracting picture to file \"" << argv[2] << "\"...";
    frame->Field(ID3FN_DATA).ToFile(argv[2]);
    cout << "done" << endl;
  }
if(帧和帧->包含(ID3FN_数据))
{
cout字段(ID3FN_DATA).ToFile(argv[2]);

cout我对这个库不太熟悉,但网站上的文档表明,一旦你有了
ID3_字段
对象,你就可以使用它的原始二进制大小和原始字节。一旦你有了这两个参数,你就可以将二进制数据写入任何
ostream
,包括
cout
,致电

myOStream.write((char *)field->GetRawBinary(), field->BinSize());
我不知道这是否有效,因为我从未使用过这个库,但至少从直觉上看,这是有意义的


希望这有帮助!

你使用的是什么库?答案将是特定于那个库的,因为这不是C++ SPEC.TMPLATETYYBEFF的一部分,它来自ID3LIB,我只想代替这个:<代码>框架>字段(ID3FNYDATA)。ToFile(Agv[2)];< /COD> >代码> >帧>字段(ID3FNYDATA)
to
cout
你不能,至少不能随身携带:
std::cout
是一个文本流,你到底想做什么?将一堆二进制数据转储到控制台通常没有多大意义。据我所知,这是行不通的:因为
std::cout
是一个文本流,
std::ostream::write
将执行换行翻译。@James McNellis-如果输出到的是非
cout
的流,那么它会工作吗?如果不工作,是否有希望以跨平台的方式进行此操作?如果是二进制流,它会工作,但正如我在原始帖子的评论中指出的,没有可移植的way以二进制流的形式重新打开
std::cout