StrToFile Function (String, String, Long) | |
Writes the contents of a character string to a file.
Namespace:
XSharp.VFP
Assembly:
XSharp.VFP (in XSharp.VFP.dll) Version: 2.19
Syntax FUNCTION StrToFile(
cExpression AS STRING,
cFileName AS STRING,
nFlags AS LONG
) AS LONG
public static int StrToFile(
string cExpression,
string cFileName,
int nFlags
)
Request Example
View SourceParameters
- cExpression
- Type: String
Specifies the character string that is written to the file. cExpression can be a literal character string,
an expression that evaluates to a character string, or a character type variable, array element, or field.
- cFileName
- Type: String
Specifies the name of the file to which the character string is written. Include a path with the file name if the file is in a directory
other than the current default directory. If the file you specify does not exist, X# automatically creates it.
lAdditive (for backward compatibility)
- nFlags
- Type: Long
You can use the nFlag parameter instead of lAdditive which enables you to also chose to write UTF-8 and
Unicode Byte Order Marks. The table in the remarks section describes the valid nFlag values.
Return Value
Type:
Long
Numeric; the number of bytes written to the file.
Remarks
An nFlags value of 3 or 5 is not valid. You cannot attempt to write a new Byte Order Mark if nFlag bit 1, Additive, is set.
Unlike earlier versions of FoxPro, StrToFile( ) opens a file in Shared rather than Exclusive mode.
This is useful when multiple servers attempt to simultaneously write to the same file. Because of this change,
you might not need to check for StrToFile( ) to return 0 (failure to open a file).
nFlags | Hex | Description |
---|
0 (S2F_FLAG_OVERWRITE) (default) | 0x0000 | The file is overwritten with the character string (formerly lAdditive=.f.) |
1 (S2F_FLAG_APPEND) | 0x0001 | The string is appended to the end of the file (formerly lAdditive=.t.). |
2 (S2F_FLAG_UNICODE_LE) | 0x0002 |
Write a Little Endian Unicode Byte Order Mark (BOM) FF FE at the beginning of file. cExpression is assumed to be UNICODE,
therefore no translation is performed. The file is overwritten
|
4 (S2F_FLAG_UTF8) | 0x0004 |
Write UTF-8 Byte Order Mark (BOM) EF BB BF at the beginning of file. cExpression is assumed to be UTF-8,
therefore no translation is performed. The file is overwritten.
|
8 (S2F_FLAG_UNICODE_BE) | 0x0008 |
Write a Big Endian Unicode Byte Order Mark (BOM) FE FF at the beginning of file. cExpression is assumed to be UNICODE,
therefore no translation is performed. The file is overwritten
|
256 (S2F_FLAG_UNICODE_TEXT) | 0x0100 |
Write the file to disk using the normal .Net Unicode text functions.
|
See Also