問題タブ [memcmp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
6 に答える
7341 参照

java - Javaのmemcmp()に相当しますか?

2つのbyte[]配列がある場合、それらをCの配列と比較するための組み込み関数はありmemcmp()ますか?

0 投票する
4 に答える
7317 参照

c++ - C++の構造体でのmemsetの使用

私は自分の仕事のために古いコードを修正することに取り組んでいます。現在、C++で記述されています。彼らは静的割り当てを動的に変換しましたが、memsets / memcmp/memcpyを編集しませんでした。これは私の最初のプログラミングインターンシップであり、私の初心者のような質問にはほとんど触れていません。

次のコードはCですが、C ++で使用したいと思います(mallocはC ++では適切ではないことを読みました)。2つのシナリオがあります。最初に、fを作成しました。次に、ゼロで埋めるために&fを使用します。2番目はポインタ*pfです。C ++の前の例のように、pfをすべて0に設定する方法がわかりません。

pf = new foomallocの代わりに実行してから、電話をかけてもらえますmemset(pf, 0, sizeof(foo))か?

0 投票する
5 に答える
10092 参照

c# - byte []の2つの部分(オフセット付き)でmemcmp()を呼び出す方法は?

byte[]の部分を効率的に比較したいのでmemcmp()、使用する必要があることを理解しています。

PInvokeを使用して呼び出すことができることを知っています-.NETでの2バイト配列のmemcmp()比較

byte[]しかし、オフセットを使用して-の一部のみを比較したいのですが、memcmp()ポインターを使用しているため、オフセットを使用したものはありません。

それを行うにはC++/ CLIを使用する必要がありますか?

IntPtrでPInvokeを使用する必要がありますか?どのように?

ありがとうございました。

0 投票する
3 に答える
845 参照

java - JNI を使用して Java から MEMCMP を呼び出す方法

2 バイト配列を比較し、どちらが大きいか、または等しいかを知る必要があります (等しいか異なるかだけでは十分ではありません)。バイト配列は、15 文字以上の String 値を表します。この比較は、私のコードでかなり繰り返されます。

Java で C++ の memcmp メソッドに相当するものを使用して (できれば JNI によって) bye 配列の比較を改善したいと考えています。C# で DLLImport を使用する例を見つけたので、JNI 呼び出しも適用できるといいのですが。

C# コード セグメントは次のとおりです。

Javaでこれを実装する方法を知っている人はいますか?

前もって感謝します、

ダイアナ

0 投票する
1 に答える
1910 参照

c - memcmpでの予期しないセグメンテーション違反

次の簡単なプログラムは私にとってsegfaultsです:

デバッガーは、segfaultがmemcmpにあることを明らかにします。

私のマシンは64ビットのUbuntu8.04を実行しており、gccのバージョンは4.2.4です。

私が試した他のマシン(32ビットまたは64ビットの両方)で正常に動作します。

何が起こっているのかについて何かアイデアはありますか?

更新:アセンブリコードは次のとおりです。

更新:(これはコメントであるはずですが、600文字には収まりません)。試してみるとsudo apt-get install libc6、次のようになります。

最後に、やろうとするとsudo apt-get -f install、次のようになります。

明らかに、私は「はい、私が言うように!」とは入力しませんでした。何かが本当に台無しになっているようです...それを修正する方法はありますか?

0 投票する
3 に答える
2327 参照

c++ - C++ is_trivially_copyable チェック

C++ 型が自明にコピー可能かどうかを確認する方法は? 指定されたテンプレート型 T で memcpy および memcmp 関数を使用するクラスがあり、memcpy で安全にコピーできない型に対してアサートを起動したいと考えています。それを行う方法はありますか(既存の標準で)?

0 投票する
8 に答える
7504 参照

c++ - memcmp の実装

以下は、memcmp の Microsoft CRT 実装です。

基本的に、バイトごとの比較を実行します。

私の質問は2つの部分に分かれています:

  1. これを int by int 比較に変更しない理由はありますcount < sizeof(int)か?
  2. 1 を実行した場合、潜在的/明らかな問題はありますか?

注: 私は CRT をまったく使用していないので、とにかくこの関数を実装する必要があります。正しく実装する方法についてのアドバイスを探しています。

0 投票する
3 に答える
183 参照

c++ - 可変長文字列コンテンツの非再帰的チェック

可変長と長さのchar*をとる関数があります。内容がすべて空白かどうかを確認したい。

これは可変長であるため、2番目のパラメーターを作成する期間がわからないため、memcmpを使用できません。

文字列の各文字を繰り返さずにチェックするためのきちんとした方法について何か考えはありますか?

0 投票する
2 に答える
2769 参照

glibc - STORAGE_ERROR に関する Ada の問題

RHEL6 で頭の痛い問題を引き起こしているこの小さな関数があり、何が起こっているのかわかりません...そしてデバッグが面倒です。これを実行すると STORAGE_ERROR が発生するので、gstack を実行して、プログラムがハングしている場所を確認しました (以下を参照)。memcmp の問題のように見えますが、どこでどのように呼び出されているのかわかりません..回避策のアイデアはありますか?

この関数を単に「true」を返すように変更すると、正常に動作するように見えるので (STORAGE_ERROR は消えます)、問題はこの部分のロジックにあると考えます: (Ada.Characters.Handling.To_Upper(EPS_List(1). all) = "LOCALHOST");

編集開始***

別の方法でこれを行っていました (関数スコープの外に移動する...なぜこれが機能するのですか?):

編集終了***

プロセスのgstack出力:

関連するタイプ/機能:

0 投票する
1 に答える
2073 参照

c - 配列のセグメントを比較するmemcmp(重複を削除)

私はしばらくの間(Cで)これに取り組んできましたが、それを理解することはできません。文字の配列を含むバッファがあります。qsortを使用して配列を並べ替えましたが、すべて適切な順序になっています。重複を削除する必要があります(または重複せずにリストを印刷するだけです)。注意点があります。文字はN個の文字(ユーザーが指定したN)のグループにグループ化されます。つまり、1つの文字を次の文字と比較するだけではありません。それらのグループを互いに比較しています。

たとえば、入力がAADDBBEECCEEで、ユーザーが指定したNが2の場合、結果はAABBCCDDEE(EEの1つが削除されたもの)になります。

memcmpを使用する必要があることはわかっていますが、構文について混乱しています。私はしようとしています:

ここで、bufferは配列、nValueはN、bufferSizeは配列内の要素の総数です。コードを実行すると、セグメンテーション違反が発生し続けます。

皆さん、助けてくれてありがとう!