問題タブ [memcpy]
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.
c - Generic editable functions in C using void*
I fall in some problem.
I need to write some function like memcpy(void*, const void*)
, which its signature should be:
I noticed that, in many implementation of memcpy
, we cast void* to char*, but I think this is not the case of me, as the arrayCopy
function needed to be used on arrays of many types including structs
.
So, how can I accomplish this?
EDIT: the source code might be something like that:
Thanks.
c - char 以外のデータをパラメーターとして使用する memcpy の問題!
次のプログラムは目的のデータを出力しません (VC2008 コンパイラで)
代わりに配列を使用char
すると、すべてがうまくいきます! ここで問題はどこですか?
c - バイトアライメントではないソースからメモリをコピーする方法 (シフト)
このタスクを達成するための厄介で非効率的な方法をいくつか思いつくことができますが、最善の方法は何か疑問に思っています。
たとえば、バイトの 3 ビット目から 10 バイトをコピーし、通常どおりポインターにコピーしたいとします。
一度に 1 つのシフトされたバイトをコピーするよりも良い方法はありますか?
ありがとう
c++ - 「バイト数」をゼロに設定してmemcpy()とmemmove()を呼び出すことはできますか?
memmove()
実際に移動/コピーするものがない場合、またはmemcpy()
エッジケースとしてケースを処理する必要がありますか?
または、チェックせずに関数を呼び出す必要があります
前のスニペットのチェックは必要ですか?
c - memcpy/memmoveの奇妙な振る舞い
memcpy / memmovestruct FOO foo
が、関数のsrcでも宛先でもないのポインタを変更するという問題があります。gdbの出力は次のとおりです。
前memmove(y,y_temp,size_y);
:
以降:
変数の定義は次のとおりです。
私はそれがmemcpy/moveのバグではないことを知っているので、私はヒントを探しています。私の側のプログラミングエラーがそれを引き起こした可能性があります。
ありがとう
c++ - memcpy を使用して配列から要素の範囲をコピーする
2 つの配列があるとします。
を使用して、matrix[80:89] から配列に 10 個の要素をコピーしmemcpy
ます。
簡単な解決策はありますか?
c++ - memcpy が正しく機能しないのはなぜですか?
いくつかの信頼できるデータ転送プロトコルの実装に関する情報を保持する RDT ヘッダーのクラスがあります。その情報 (合計 12 バイト) を送信バッファーにアタッチして、ソケット経由で転送する必要があります。これを行うためにmemcpyを使用しようとしていますが、何らかの理由でバッファ内にジャンクが残るだけです。以下は、動作していないコード行です。(RDT_HDR_SIZE は 12 として定義されます)。
この関数に渡される変数の定義。
問題が発生している memcpy の関数。
RDT_HDR_SIZE を取り出すと、ペイロードは適切に buf に割り当てられますが、すべてのヘッダー フィールドが消去されます。これを機能させる方法はありますか?
ありがとう、
エリック R.
編集:
これが私の RdtHeader クラスのコードです。おそらく役に立つでしょう。
c++ - C++ 構造体配列のコピー
memcpy を使用して、構造体配列の要素を別の構造体配列にコピーしたいと考えています。これが、何らかの理由で私のプログラムを惨めに失敗させていると思います。また、最後にメモリを解放するにはどうすればよいですか?
c - memcpy は失敗しますが、代入は文字ポインターにありません
実際、memcpy は、文字へのポインタを使用すると問題なく動作しますが、文字へのポインタへのポインタを使用すると動作しなくなります。
ここで memcpy が失敗する理由、またはさらに良いことに、自分でそれを理解する方法を誰かが理解するのを手伝ってくれませんか。私の c/c++ コードで発生する問題を理解するのは非常に難しいと感じています。