前のトピック: SeekFile--オープン ファイルの現在位置の変更次のトピック: ファイル システム関数


WriteFile - ファイルへのデータの書き込み

NetWare、Symbian OS、UNIX、Windows、および Windows CE で有効です。

WriteFile 関数はファイルにデータを書き込みます。

ファイルの内容に関するこの関数の形式は、以下のとおりです。

WriteFile(handle as Integer, buffer as String) as Boolean
WriteFile(handle as Integer, buffer as String, buflen as Integer) as Boolean
WriteFile(handle as Integer, buffer as Void) as Boolean
WriteFile(handle as Integer, buffer as Void, buflen as Integer) as Boolean
handle

OpenFile または CreateFile から返されたファイル ハンドルを指定します。

buffer

任意のタイプの変数を指定します。 ファイルに格納するためのバッファを表します。

buflen

ファイルに格納する文字数を指定します。 文字数が buflen を超えた場合は、最初の buflen 個の文字列のみがファイルに格納されます。それ以外の場合は、バッファ全体が格納されます。

この関数が正常に完了すると、TRUE が返されます。それ以外の場合は、FALSE が返されます。

注: 複数の WriteFile() 関数フォーマットを混在させないでください。 フォーマットを混在させると、予期せぬ結果になることがあります。

インタープリタは最初のフォーマット(前述を参照)を別の方法で処理します。文字列をディスクに書き込む場合、インタープリタは常に改行記号を追加します。

インタープリタは最初のフォーマットを、その他の 3 つのフォーマット(一般的なシステム書き込み関数に対応するフォーマット)と異なるシステム書き込み関数に対応付けます。 各システム書き込み関数はそれぞれ異なるキャッシュを使用して、書き込まれたデータを格納することがあります。 クローズ時間に、キャッシュが順番にディスクに書き込まれます。 フォーマットが混在している場合、データは正しい順序で表示されないことがあります。

以下のフォーマットは、インタープリタで異なる方法で処理されます。

WriteFile(handle as Integer, buffer as String) as Boolean 

文字列がディスクに書き込まれる場合は、改行が常に追加されます。 この方法は、その他のタイプのフォーマットには適用されません。 また、インタープリタはこの関数を、その他の 3 つのフォーマット(一般的なシステム書き込み関数に対応するフォーマット)と異なるシステム書き込み関数に対応付けます。 各システム書き込み関数もそれぞれ異なるキャッシュを使用して、書き込まれたデータを格納することもあります。 クローズ時間に、キャッシュが順番にディスクに書き込まれます。 フォーマットが混在している場合、データは書き込まれた順番で表示されないことがあります。 したがって、このフォーマットとほかのフォーマットを混在させないでください。

例: WriteFile 関数

Dim fIn, fOut as integer   ' Declare file handles
Dim OneLine as string     ' String to hold one line

Rem First open the Input file...

fIn=OpenFile("C:¥CONFIG.SYS",O_READ)
if fIn<0 then
	MessageBox("Unable to open input file","Error")
	Goto End
End if

Rem ...Then create the output file...

fOut=CreateFile("C:¥CONFIG.BAK")
if fOut<0 then
	MessageBox("Unable to create output file","Error")

CloseFile(fIn)
	Goto End
End if

Rem ...Copy lines until none left...

while Not(Eof(fIn))
	if ReadFile(fIn,OneLine) then WriteFile(fOut,OneLine)
wend

Rem ...Close Files, and signal success.

CloseFile(fIn)
CloseFile(fOut)
MsgBox("A backup of the CONFIG.SYS file was created","MyScript",MB_OK)

end:

関連項目:

OpenFile - ファイルのオープン

CreateFile - 新規ファイルの作成