質問

私はそれが正確に PHPのCRC32と同じように動作するようにブースト:: CRCを使用したいです()の関数。私は後で恐ろしいドキュメントと、多くの頭痛を読んでみましたどんな進歩を遂げていない。

どうやら私のような何かをする必要があります:

int GetCrc32(const string& my_string) {
    return crc_32 = boost::crc<bits, TruncPoly, InitRem, FinalXor,
                   ReflectIn, ReflectRem>(my_string.c_str(), my_string.length());
}

bits他にどのようなものであることは謎である.32でなければなりません。少しの援助? ;)

役に立ちましたか?

解決

(なぜ頭痛だどうやら私は間違った場所で探していた)が、私はそれでだながら、私はコピーを提供&将来ののGooglerのために私の質問に機能するためのソリューションを貼り付けてみたかったダン・ストーリーと良い答えを提供ergosys

int GetCrc32(const string& my_string) {
    boost::crc_32_type result;
    result.process_bytes(my_string.data(), my_string.length());
    return result.checksum();
}

他のヒント

あなたはおそらく、CRCのテンプレートを使用するのではなくcrc_32_typeを使用します。テンプレートは、一般的及びCRCの広い範囲に対応することを意味することは、広く変化するパラメータを用いて設計し、それらは内蔵CRC16、CCITT、XMODEM及びCRC32をカバーする一般的な使用のために事前構成されたCRCの種類は、4つの出荷。

ライブラリーは、事前定義されたCRCエンジンを含んでいます。私はあなたが欲しい1がcrc_32_typeだと思います。 http://www.boost.org/doc:この例を参照してください。 /libs/1_37_0/libs/crc/crc_example.cppする

あなたが事前に定義されたcrc_32_typeを使用してみましたか?

このページでは、

、他のすべてのパラメータを読み取る、あなたが望む特定の32ビットのCRCを見つけます: http://regregex.bbcmicro.net/crc-catalogue.htmする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top