FreeBASIC マニュアルのトップに戻る

FreeBASIC FB_MEMMOVE

目次→実行時ライブラリー参考→メモリ関数FB_MEMMOVE←オリジナル・サイト

FB_MEMMOVE 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

メモリブロックを、ある場所から別の場所に、コピーします。

構文:
declare function fb_memmove cdecl ( byref dst as any, byref src as any, byval bytes as uinteger ) as any ptr

用法:
[result =] fb_memmove( dst, src, bytes )

パラメータ:
dst
宛先メモリの、開始アドレス
src
ソースメモリの、開始アドレス
bytes
コピーするバイト数

戻り値:
宛先メモリの開始アドレスが、返されます。

内容:
fb_memmove は、指定されたバイト数を、メモリ・ロケーション src から、メモリ・ロケーション dst に、コピーします。
各開始アドレスは、変数または配列要素への参照から、取得されます。
中間バッファが使用されているかのようにコピーが行われ、宛先エリアとソースエリアを、任意の方法で重複させることができます(プラットフォームにかかわらず、安全な方法)。
メモリ領域が重複しない場合は、fb_memcopy を使うだけで十分です(速度が向上する可能性があります)。
オーバーフローを回避するには、srcdst の両方が指す、有効なメモリ領域のサイズが、コピーするバイト数以上である必要があります。

ソースとデスティネーションの両方のポインタが指す、オブジェクトの基本型は、この関数には関係ありません。
この関数は、ソース領域で、終端のヌル文字をチェックしません。
常に指定されたバイト数を、正確にコピーします。
結果は、データのバイナリ・コピーです。

注: Pointer が参照するメモリ間でコピーを行うには、まずポインタを逆参照する必要があります(または、引数名で、ポインタ名の前に Byval キーワードを指定します)。
それ以外の場合、fb_memmove は、pointer variable のメモリー位置間でバイトをコピーしようとします。

例:
Dim As ZString * 33 z = "memmove can be very useful......"

Print z

fb_memmove(z[20], z[15], 11)

Print z

Sleep

出力:
memmove can be very useful......
memmove can be very very useful.


バージョン: QBからの違い: 参照:
メモリ関数に戻る
←リンク元に戻る プログラム開発関連に戻る
ページ歴史:2021-10-11 09:33:58
日本語翻訳:WATANABE Makoto、原文著作者:fxm

ホームページのトップに戻る

表示-非営利-継承