問題タブ [memmove]

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 投票する
2 に答える
317 参照

c - memmove がパラメータとして char * ではなく void * を使用するのはなぜですか?

c ライブラリ関数の定義はmemmove次のようになります。

なぜvoid*andconst void*をパラメータの型として使用する必要があるのか​​ 疑問に思っています。なぜ直接char*ではないのconst char*ですか?

アップデート

出力: test_case = {1, 2, 3, 4, 3, 4, 5, 6, 10}

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

c - 出力ファイルの不要なスペース

!!テキストファイルの(含む)から(含まない)までの各行の最後に追加する関数を作成しようとしています。いくつかの複雑な問題を抱えた後、実際に成功しました。しかし、完全ではありません。



最後の行に追加されないことを除いて、比較的うまく機能します。そして、テキスト ファイルの最後にスペース (おそらく NULL) を入力します。私はそれでゼロ化された追加領域も移動しているためだと思いますcontent

ここに画像の説明を入力 したがって、これを機能させるために使用する必要がある適切な式は何かを理解する必要があるかもしれません。これを機能させる方法のアイデアはありますか?

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

for-loop - 逆反復、for ループと while ループのどちらが速いですか?

私はmemmoveRust で標準関数を実装しようとしていますが、下向きの反復ではどの方法がより高速であるか疑問に思っていました (ここでsrc< dest):

また

rev()ループ内のforバージョンでは大幅に遅くなりますか?

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

c++ - realloc() を使用して memmove() を安全にする

私の機能では、部分文字列を置き換えます。入力部分文字列が元の部分文字列よりも長い場合、入力文字列の一部を移動して、入力部分文字列用のスペースを確保します。

これにより、未定義の動作が発生することを理解しています。realloc() を使用して必要なスペースを割り当てることができるはずだと思っていましたが、成功していません。

memmove() の前にこれを追加してみました:

これは合理的な戦略ですか?この操作のためのスペースを作る正しい方法は何ですか?

realloc() を使用しないプログラムは次のとおりです。

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

c - マルコフ連鎖。実装追加方法

実装の次のステートメントと少し混乱しています。

mmemove(プレフィックス、プレフィックス + 1、(NPREF - 1) * sizeof(プレフィックス[0]));

したがって、プレフィックスは char 型のポインターです。この用語では、プレフィックス + 1 は配列内の次の文字へのリンクですね。

それはどのように正しい方法で機能しますか?私は memmove について読み、ポインターについて読みましたが、この追加関数の動作を自分で調べることはできませんでした。