小编Arm*_*man的帖子

BOOST.IOstreams:写入bzip2的麻烦

您好我想使用Boost.IOstreams将我的数据存储到bzip2文件中.

void test_bzip()
{
namespace BI = boost::iostreams;
{
string fname="test.bz2";
  {
    BI::filtering_stream<BI::bidirectional> my_filter; 
    my_filter.push(BI::combine(BI::bzip2_decompressor(), BI::bzip2_compressor())) ; 
    my_filter.push(std::fstream(fname.c_str(), std::ios::binary|std::ios::out)) ; 
    my_filter << "test" ; 

    }//when my_filter is destroyed it is trowing an assertion.
}
};
Run Code Online (Sandbox Code Playgroud)

我做错了什么?我正在使用boost 1.42.0.

亲切的问候阿曼.

编辑 如果我删除双向选项代码正在运行:

#include <fstream> 
#include <iostream> 
#include <boost/iostreams/copy.hpp> 
#include <boost/iostreams/filter/bzip2.hpp> 
#include <boost/iostreams/device/file.hpp> 
#include <boost/iostreams/filtering_stream.hpp>
#include <string>



void test_bzip()
{
        namespace BI = boost::iostreams;
        {
                std::string fname="test.bz2";
                {
                        std::fstream myfile(fname.c_str(), std::ios::binary|std::ios::out); 
                        BI::filtering_stream<BI::output> my_filter; 
                        my_filter.push(BI::bzip2_compressor()) ; 
                        //my_filter.push(std::fstream(fname.c_str(), std::ios::binary|std::ios::out)) ; //this line will work on …
Run Code Online (Sandbox Code Playgroud)

c++ boost-iostreams bzip2

6
推荐指数
1
解决办法
2036
查看次数

GNUPLOT:来自一组点的二维直方图

我有一对带有权重的点:

#x  y  w
0.111342 0.478917 0.232487 
0.398107 1.79559 0.221714 
0.200731 2.58651 0.0776068 
0.0967412 1.49904 0.0645355 
6.17638 8.63101 0.715604 
0.306128 3.10917 0.0984595 
0.340707 3.19344 0.10669 
7.18627 8.59859 0.835751 
8.56 9.63894 0.888065 
5.14272 6.86074 0.749587 
0.747202 3.812 0.196013 
8.71891 10.1355 0.860232 
0.346714 1.45895 0.237647 
5.21932 8.84491 0.590094 
9.42138 12.2082 0.771725 
0.215627 2.42317 0.0889856 
Run Code Online (Sandbox Code Playgroud)

如何用颜色条绘制漂亮的 2d 直方图图像?我发现了很好的密度图描述,但我不想通过 python 去。我有办法只使用 gnuplot 脚本吗?

gnuplot map histogram

6
推荐指数
1
解决办法
1万
查看次数

如何将for循环转换为STL for_each语句

我想将我的for循环转换为STL std :: for_each循环.

 bool CMyclass::SomeMember()
 {
    int ii;
        for(int i=0;i<iR20;i++)
            {
              ii=indexR[i];
              ishell=static_cast<int>(R[ii]/xStep);
              theta=atan2(data->pPOS[ii*3+1], data->pPOS[ii*3]);
              al2[ishell] += massp*cos(fm*theta);
            }
 }
Run Code Online (Sandbox Code Playgroud)

实际上我打算从g ++ 4.4中使用并行STL

 g++ -D_GLIBCXX_PARALLEL -fopenmp
Run Code Online (Sandbox Code Playgroud)

如果代码是在标准STL库中编写的,则允许并行运行代码而不进行更改.

c++ parallel-processing stl

5
推荐指数
1
解决办法
1139
查看次数

Boost.MultiIndex:如何建立有效的交集?

假设我们有一个data1data2.我该如何与他们相交std::set_intersect()

struct pID
{
    int           ID;
    unsigned int  IDf;// postition in the file 
    pID(int id,const unsigned int idf):ID(id),IDf(idf){}
    bool operator<(const pID& p)const { return ID<p.ID;}
};

struct ID{};
struct IDf{};

typedef multi_index_container<
    pID,
    indexed_by<
    ordered_unique<
    tag<IDf>,  BOOST_MULTI_INDEX_MEMBER(pID,unsigned int,IDf)>,
    ordered_non_unique<
    tag<ID>,BOOST_MULTI_INDEX_MEMBER(pID,int,ID)> >
    > pID_set;

ID_set data1, data2; 
Load(data1); Load(data2);

pID_set::index<ID>::type& L1_ID_index=L1.data.get<ID>();
pID_set::index<ID>::type& L2_ID_index=L2.data.get<ID>();
    // How do I use set_intersect?
Run Code Online (Sandbox Code Playgroud)

c++ boost multi-index set-intersection

5
推荐指数
1
解决办法
588
查看次数

如何强制 MySQL 返回有限的行?

我想限制用户提交的 mysql 查询结果。目前我只是通过 PHP 解析查询字符串,然后追加LIMIT到最后。对于具有许多嵌套选择/连接的更复杂的查询,事情变得复杂且难以预测。即使用户要求完整集,是否有强制mysql仅返回有限结果的通用方法?

由于
阿尔曼

php mysql limit

5
推荐指数
1
解决办法
1107
查看次数

Matplotlib生成的pdf无法通过Acrobat Reader打开

我正在尝试将衬线字体与 matplotlib 的 Latex 一起使用,不幸的是它不会在 Acrobat Reader 中显示,但在 Internet Explorer 或 Chrome 上可以。我的最小代码产生错误 StandardSymL_Slant_167 not found 并且 varepsilon 不可见,缺少什么?

import matplotlib as mpl
import matplotlib.pyplot as plt

mpl.rcParams.update(mpl.rcParamsDefault)
mpl.rcParams['text.usetex'] = True
mpl.rcParams['font.family'] = ['serif']
mpl.rcParams['font.serif'] = ['times']

fig, ax = plt.subplots()
ax.set_xlabel(r'$x$ $\alpha \varepsilon$')
fig.savefig('test.pdf')
Run Code Online (Sandbox Code Playgroud)

acrobat pdf 出现错误

我的环境的输出是:

import matplotlib
print(matplotlib.__version__)
3.2.0
Run Code Online (Sandbox Code Playgroud)

编辑 发现这也很奇怪:

pdffonts test.pdf
name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
NimbusRomNo9L-Regu                   Type 1            Custom           yes no  no      21  0
CMMI10                               Type …
Run Code Online (Sandbox Code Playgroud)

python pdf matplotlib

5
推荐指数
1
解决办法
957
查看次数

重命名BASH中的几个文件

我想重命名文件编号:我有一个'???'的文件 格式我需要把它们放在'????'中.

myfile_100_asd_4 to myfile_0100_asd_4
Run Code Online (Sandbox Code Playgroud)

谢谢阿曼.

不那么优雅解决方案:

#/bin/bash
snap=`ls -t *_???`
c=26 
for k in $snap 
do 

     end=${k}
     echo  mv  $k ${k%_*}_0${k##*_}_asd_4
     (( c=c-1 ))

done
Run Code Online (Sandbox Code Playgroud)

这对我有用,因为我也有myfile_100文件.

bash renaming

4
推荐指数
2
解决办法
1256
查看次数

来自字段的粗体文字:<input>?

今天当我在谷歌填写我的日历时,我看到事件的描述是粗体字:

<input id=":g" name=":g" type="text" class="textinput" dir="ltr">
Run Code Online (Sandbox Code Playgroud)

是否可以在文本输入字段中呈现自定义文本样式?


谢谢阿曼.

编辑 简单搜索我喜欢 jquery水印插件可以做类似的事情.

html5 input google-calendar-api font-face

4
推荐指数
2
解决办法
5万
查看次数

在ls bash输出中添加md5sum

我正在尝试查找文件并将其md5sum添加到表中.

find /store/01 -name "*.fits" -exec chmod -x+r {} \; -exec ls -l {} \; | tee ALL_FILES.LOG
Run Code Online (Sandbox Code Playgroud)

如何在ls -l输出中添加文件的md5sum?

我想让它输出ls -l一个额外的md5sum结果列

例如:

-rw-r--r-- 1 data user 221790 Jul 28 15:01 381dc9fc26082828ddbb46a5b8b55c03 myfile.fits 
Run Code Online (Sandbox Code Playgroud)

bash shell find

4
推荐指数
1
解决办法
1422
查看次数

C++模仿命令

如何实现ls"filename_ [0-5] [3-4]?" 喜欢上课?结果我想存储在向量中.

目前我正在使用调用ls的system(),但这在MS下是不可移植的.

谢谢,阿曼.

c++ boost stl system

3
推荐指数
1
解决办法
1214
查看次数