Share via


STRTOFILE( ) (Función)

Escribe el contenido de una cadena de caracteres en un archivo.

STRTOFILE(cExpression, cFileName [, lAdditive | nFlag])

Valor devuelto

Numeric; el número de bytes escritos en el archivo.

Parámetros

  • cExpression
    Especifica la cadena de caracteres que se escribe en el archivo. cExpression puede ser una cadena literal de caracteres, una expresión que da como resultado una cadena de caracteres o una variable, elemento de matriz o campo de tipo Character.

  • cFileName
    Especifica el nombre del archivo en el que se escribe la cadena de caracteres. Incluya una ruta de acceso con el nombre de archivo si el archivo está en un directorio distinto del directorio predeterminado actual. Si el archivo que especifica no existe, Visual FoxPro lo creará automáticamente.

  • lAdditive (por compatibilidad con las versiones anteriores)
    Especifica si se anexa la cadena de caracteres al final del archivo. Si lAdditive es verdadero (.T.), la cadena de caracteres se anexa al final del archivo.

    Si lAdditive es falso (.F.) (el valor predeterminado), el archivo se sobrescribe con la cadena de caracteres. Se le pregunta si desea sobrescribir un archivo existente si SET SAFETY está establecido en ON. Si SET SAFETY está establecido en OFF, el archivo se sobrescribe sin avisar.

  • nFlag
    En esta versión de Visual FoxPro, puede utilizar el parámetro nFlag en lugar de lAdditive; esto le permitirá escribir las marcas de orden de bytes Unicode y UTF-8. ** En la tabla siguiente se describen los valores válidos de nFlag.

    nFlag Bit Descripción
    0 (predeterminado) 0000 Se sobrescribe el archivo con la cadena de caracteres (antes lAdditive=.f.)
    1 0001 Se anexa la cadena al final del archivo (antes lAdditive=.t.).
    2 0010 Se escribe una marca de orden de bytes (BOM) Unicode FF FE al principio del archivo. Se supone que cExpression tiene formato UNICODE y por lo tanto, no hay que realizar una conversión. Se sobrescribe el archivo.
    4 0100 Se escribe una marca de orden de bytes (BOM) UTF-8 EF BB BF al principio del archivo. Se supone que cExpression tiene formato UTF-8 y por lo tanto, no hay que realizar una conversión. Se sobrescribe el archivo.

Observaciones

Los valores 3 y 5 del parámetro nFlag no son válidos. No puede intentar escribir una marca de orden de bytes nueva si el bit 1 de nFlag, Additive, está establecido.

A diferencia de lo que ocurría en las versiones anteriores de Visual FoxPro, ahora STRTOFILE( ) abre un archivo en modo Compartido (no en modo Exclusivo). Esto resulta útil cuando varios servidores intentan escribir simultáneamente en el mismo archivo. Debido a este cambio, es posible que no tenga que comprobar si STRTOFILE( ) devuelve 0 (no se puede abrir un archivo).

Vea también

FILETOSTR( ) | FWRITE( ) | SET SAFETY