Function Reference

FileSetPos

ファイルポジションを設定します。

FileSetPos ( handle, offset, origin )

 

パラメータ

handle FileOpen()で開いたファイルのハンドル.
offset 起点からのオフセット。この値は正、または負です。負の値の場合、起点から先頭に向かって移動します。
origin 次のいずれかを設定する必要があります:
 0 - ファイルの先頭 (Constants.au3の$FILE_BEGIN)
 1 - 現在の位置 (Constants.au3の$FILE_CURRENT)
 2 - ファイルの終端 (Constants.au3の$FILE_END)

 

返し値

成功 操作に成功した場合、True
失敗 False

 

注意

起点を指定する際に元の位置をカッコ内のシンボル名を使用する場合はスクリプトにConstants.au3をインクルードしてください。
FileSetPos()を使用することで同じファイルでの読み込みと書き込み両方できます。同じファイルでの読み込みと書き込みをおこなう場合は必ず各読み込み、書き込み操作の間でFileFlush()を呼んでください。
ポインタをデータの途中に移動することでデータの上書きをおこなえます。

 

関連

FileGetPos, FileFlush, FileRead, FileReadLine, FileWrite, FileWriteLine, FileOpen

 


#include <Constants.au3>

Local Const $sFile = "test.txt"
Local $hFile = FileOpen($sFile, 2)

; 書き込み用にファイルが開けたかどうかをチェック
If $hFile = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
EndIf

; ファイルに書き込み
FileWriteLine($hFile, "Line1")
FileWriteLine($hFile, "Line2")
FileWriteLine($hFile, "Line3")

; ファイルをディスクにフラッシュ
FileFlush($hFile)

; ファイルポジションを調べ、現在のポジションからのファイル内容読み込みを試みる
MsgBox(0, "", "Position: " & FileGetPos($hFile) & @CRLF & "Data: " & @CRLF & FileRead($hFile))

; ポジションを先頭に設定
Local $n = FileSetPos($hFile, 0, $FILE_BEGIN)

; ファイルポジションを調べ、現在のポジションからのファイル内容読み込みを試みる
MsgBox(0, "", "Position: " & FileGetPos($hFile) & @CRLF & "Data: " & @CRLF & FileRead($hFile))

; ハンドルを閉じる
FileClose($hFile)

; 一時ァイルを削除
FileDelete($sFile)