草庐IT

自解压

全部标签

c++ - 如何解压空的可变参数模板列表

我读了this问题并认为它很有趣,所以我开始尝试一些代码以查看是否可以让它工作,但我遇到了一个问题。我的方法是使用函数式编程熟悉的头尾成语。但是,我找不到一种方法来处理空的可变参数模板列表,这将是基本情况。这是我的代码:#include#includeclassA{};classB:publicA{};classC{};classD:publicC{};/*//Forwarddeclarationtemplatestructare_convertible;*///TherearenoArgstemplatestructare_convertible{staticconstboolval

c++ - 如何使用 zlib 解压 gzipstream

谁能告诉我我需要使用哪个函数来解压缩一个用vb.net的gzipstream压缩的字节数组。我想使用zlib。我已经包含了zlib.h,但我一直无法弄清楚我应该使用什么函数。 最佳答案 可以看看TheBoostIostreamsLibrary:#include#include#includestd::ifstreamfile;file.exceptions(std::ios::failbit|std::ios::badbit);file.open(filename,std::ios_base::in|std::ios_base::b

c++ - 在 JPG 解压缩期间缩小 JPG

我必须缩小和解压缩一组大小为4608x3456的JPG图像。目前,我已经能够将图像正确解压缩为RGB格式并将它们转换为位图。现在我需要实现缩小,根据我目前所读到的正确缩小图像的内容,应该使用双线性插值。然后我应该用插值结果像素替换用于插值的像素(2x2)。我需要大约当前大小的1/4。我不太担心缩小图像的质量,因为我担心它的完成速度。整个过程应该尽可能快。我的问题是,什么时候我应该在JPG的解压缩阶段进行双线性插值。我应该在IDCT(反离散余弦变换)之后进行还是应该在IDCT之前进行插值?使用DCT系数并对它们进行插值,然后将这些结果值用于IDCT是否明智?

C++解压缩一个gzip字节数组

这是完整的情况:我正在为.tmx文件开发map阅读器,来自平铺。大多数情况下,图block都保存在base64字符串中,其中包含一个由gzip压缩的字节数组。现在我可以读取压缩字节数组,但我不知道如何解压缩它。我阅读了一些关于zlib和boost的文档,但两者都是关于文件流的,而且非常复杂......我是数据压缩领域的新手,所以如果有人知道某种解决方案或一些有用的文档,我将不胜感激。 最佳答案 #include#include#include#include#includeintmain(){usingnamespacestd;if

c++ - 在 C++ 中解压参数包

我有两个函数f和g。f异步计算它的返回值并返回一个future。现在,基于f的几个返回值,我想调用g,但我想确保f的值的计算>并行发生。考虑以下代码:templatestd::futuref(T&t);templatevoidg(T&&...t)templatevoidcall_wrapper(T&&...t){autof1=f(t1);//HowdoIsetthevaluesoff1...fnautof2=f(t2);...g(f1.get(),f2.get()....);//HowdoIcallg}如何从call_wrapper函数的可变参数模板T中解压类型?

小程序实现解压木鱼

前言在平常思考问题的时候喜欢敲击桌子之类的东西,发出有节奏的声音让人进入深度思考中,但是又可能会影响到别人,所以决定自己开发一个小程序版解压电子木鱼,带上耳机进入自己的世界。一、项目展示进入页面敲击屏幕,模拟敲击木鱼效果。小程序电子木鱼二、设计思路        敲击手机屏幕-声音效果:有敲击木鱼声音。    敲击手机屏幕-视觉效果:有敲击木鱼的动作,并且在每次敲击结束时有声波传输的效果。  三、具体实现    页面比较简单,外层view全铺pageimage增加定义图片木鱼路径,默认为准备敲击图片,通过js控制在敲击屏幕时切花为敲击图片。切换为“敲击图片”后延时100ms再次切换回“准备敲击

c++ - 如何使用 boost::preprocessor 解压序列?

如何使用boost::preprocessor解压一个序列对?例如,我有一个序列如下(之间的逗号无关紧要)(int,x)(double,y)(float,z)or(int,x),(double,y),(float,z)or((int)(x))((double)(y))((float)(z))想转换成int,double,float和x,y,z通过使用macor之类的UNZIP(i,seq)其中i是索引。 最佳答案 (int,x,10)(double,y,20)(float,z,30)的解压缩,即元素之间没有逗号的序列。LIVEDEM

c++ - 解压缩元组列表

关于如何实现这个功能有什么想法吗?templateautounzip(constlist>&l){...}此函数将接收元组列表并返回列表元组。第一个列表将包含get(t)的元素,等等。我可以遍历元组的项,当然也可以遍历列表。但我不知道如何声明这样的tuple,list...>有什么线索或引用吗? 最佳答案 我会这样做:templateautounzip_impl(list>const&l,std::index_sequence){tuple...>ret;for(autoconst&el:l){std::initializer_li

c++ - 如何使用 C++ 程序解压缩 tar.gz 文件

在我的linux程序中,我想将一个tar.gz文件内容解压缩到特定目录。C/C++中是否有任何系统调用或任何C++类可用于从tar.gz文件中提取文件内容? 最佳答案 有优秀的图书馆libarchive,它支持使用一致的API访问多种存档格式。可以关注theseexamples关于如何使用它。如果您使用的是Ubuntu,则可以使用命令sudoapt-getinstalllibarchive-dev轻松安装此库。在其他平台上,您可能需要下载源代码并自行编译此库。与使用system()调用相比,使用libarchive的一个优点是不依赖

c++11 将 std::tuple 解压到虚拟成员函数中

完整故事:我正在尝试构建一个看起来有点像这样的框架:#include#includeusingnamespacestd;//thisclassallowsusertocall"run"withoutanyargsclasssimulation_base{public:intrun(){execute_simulation_wrapped();};protected:virtualintexecute_simulation_wrapped();{return0;};}//thisclassfunnelssomestoredinputsintoasoon-to-be-overriddenm