memcpy

    1

    1答えて

    template<typename T> static T *anydup(const T *src, size_t len) { T *ptr = malloc(len * sizeof(T)); memcpy(ptr, src, (len * sizeof(T))); return ptr; } これは適切ですか? int、longなどを使用しているときに

    1

    2答えて

    ダイナミック配列のサイズを変更し、一度にそれを埋めることができる関数を書こうと思っていました。私は(...ので、私がやったので、それが動作します)私は、「reallocの」を使用してそれを行う必要があることを知っているが、私の最初の試みは、このように見えた:関数本体「プリントアレイ(dArray、NewSizeパラメータ)で void ChangeDynamicArraySize(int* dAr

    0

    2答えて

    another questionに応答しようとすると、charのバッファに汎用タイプを格納するためにstd::memcpy()を使用するソリューションを提案しました。 疑問は、PODを格納する可能性のあるメモリアライメントの問題です(私はPODタイプではないことを知っています。std::stringは非常に危険です)。 要するに、次のプログラムではメモリアライメントの問題がありますか? もしそうで

    0

    3答えて

    memcpyを使ってメモリを読み込もうとしています。 BYTE test[] = {0x01}; BYTE test2[] = {0x00}; memcpy (test, test2, sizeof(test)); if (test == test2){ MessageBox::Show("Same"); }else{ MessageBox::Show("Differe

    1

    2答えて

    ハードコードされた文字列を構造体のC言語のみを使用して挿入しようとしているので、別のポストの例に従ってmemcpyを使用しました。しかし何らかの理由で、私は出力のように見えるものを得続けますが、私は理由は分かりません。 私のコンソールには、[(2,7532592)(1,7524424)]とそのような他の長い番号が毎回表示されます。私は文字列をC文字列にコピーする方法についてたくさんの例を調べました

    1

    1答えて

    私はいつかこの問題に苦しんでいると私はこのリークが起こっている理由を見つけることができません。 私がふりをするのは、ファイルブロックを注文するときにebとdbを注文することです。最初に、そのebとdbのメモリ部分でfileblockを注文します。その後、構造体に格納されたこのデータをdb、eb、fileblockにコピーしたいと思います。だから私は中間の構造のデータを使ってデータを並べ替えるだけで

    0

    1答えて

    この質問に関連するものは見つかりませんでした。ヒープ内に2つのmpfr::mpreal配列aとbがあり、new mpfr::mpreal[n]とします。配列を呼び出して使用する関数のためにCスタイルの配列を使用する必要があります。私はそれを変更することはできません、私は試しましたが、それは間違った結果をもたらし、さらにクラッシュする、私のレベルのためにかなり大きくて複雑な機能です。配列が大きくなる

    0

    1答えて

    CTFの場合、単純なバッファオーバーフローに対して脆弱なWinSockアプリケーションをビルドしようとしていますが、少なくとも私にとってはmemcpyの動作が非常に奇妙です。ビジュアルスタジオのすべてのセキュリティ対策が無効になっています。 char recvbuf[1024]; char sendbuf[300]; int recvbuflen=1024; iResult = recv(C

    0

    1答えて

    私は多かれ少なかれCでポインタを使用しているので、私はいくつかの恐ろしい間違いをすると申し訳ありません!この場合、浮動ベクトルのすべての要素を別の要素にコピーしようとしています。 I持って正常に動作します私のmain.cのファイル、内のコードの塊次 /* NOTE: hash_list is a global variable*/ void insertDataIntoOurHashList(i

    3

    1答えて

    ネットワークコードによっては、ソケット上で(2)を送信するためにバッファにパケット構造をエンコードする必要がありますが、エンコードされたバッファをより大きなバッファにmemcpyすることは問題があります。ここで は私がやっているものを示す小さなコードの例です: char tbuf[] = "test"; char *buf = malloc(300); memset(buf, '\0', 30