FPRINTF()
Purpose
Function to write a string with 'C' style picture formatting to a file opened with the specified file pointer
Syntax
FPRINTF(<expN>,<expC>, <exp1> [,<exp2>...])
See Also
ETOS(), FCLOSE(), FCREATE(), FDATE(), FERROR(), FGETS(), FOPEN(), FPUTS(), FREAD(), FREADSTR(), FTIME(), PRINTF(), SPRINTF(), TOSTRING()
Description
The FPRINTF() function writes a string including one or more parameters, <exp1> [,<exp2>...], formatted according to the 'C' style options specified in <expC> to the file opened with the file pointer, <expN>. Each formatting sequence is applied to the corresponding parameter in the parameter list from left to right.
Formatting option | Description |
---|---|
%s | Convert to character string (similar to using ETOS() or TOSTRING() |
%d | For date parameters |
%f | For floating point numeric parameters |
%y | For currency parameters |
%t | For datetime parameters |
%T | For datetime parameters; character day is also displayed |
%l | For logical parameters: True, False |
%L | For logical parameters: Yes, No |
Formatting sequences can also contain the following options. These are specified in order, between the '%' and the data type letter.
Formatting option | Description |
---|---|
- | Left-justify |
n | Left pad with spaces to width n |
n.p | Left pad with spaces to width n and include the decimal point and p decimal places (%f only) |
Example
fp=fcreate('fprintf.txt') // When %s is specified, the corresponding argument is converted to // character format (similar to specifying etos()). // Widths correspond to the default values, e.g. numerics are 10 fprintf(fp,'It is %s, %s to be more precise\n',year(date()),datetime()) fprintf(fp,'The value of pi is %s\n',pi()) fprintf(fp,'They cost %s per %s\n',$99,100) fprintf(fp,'Logicals can be %s or %s\n',.T.,.F.) // Formatting characters can contain a width, which will left pad with spaces fprintf(fp,'Right-justify and pad left: %10s this\n','Like') // Left justify by placing a '-' directly following the '%' character fprintf(fp,'Left-justify and pad right: %-10s this\n','Like') // %d is for numerics fprintf(fp,'It is %d\n',year(date())) // %t and %T are for formating datetime data types. fprintf(fp,'It is %d, %t to be more precise\n',year(date()),datetime()) fprintf(fp,'It is %d, %T to be even more precise\n',year(date()),datetime()) // %f is for floating point numerics fprintf(fp,'The value of pi is %f\n',pi()) // Decimal places can also be specified for floating point numerics (%f) fprintf(fp,'The value of pi to two decimal places is %4.2f\n',pi()) // %y is for formatting currency data types fprintf(fp,'They cost %y per %d\n',$99,100) fprintf(fp,'They cost %y per %d\n',$99,1000) fprintf(fp,'They cost %y per %d\n',$99,10000) //%l and %L are for formatting logical datatypes. fprintf(fp,'Logicals can be %l or %l\n',.T.,.F.) fprintf(fp,'Logicals can also be %L or %L\n',.T.,.F.) fclose(fp)
// Contents of fprintf.txt It is 2009, 11/11/2009 11:41:51 AM to be more precise The value of pi is 3.1415926 They cost $99.0000 per 100 Logicals can be True or False Right-justify and pad left: Like this Left-justify and pad right: Like this It is 2009 It is 2009, 11/11/2009 11:41:51 AM to be more precise It is 2009, Wednesday November 11 2009 11:41:51 to be even more precise The value of pi is 3.141593 The value of pi to two decimal places is 3.14 They cost $99.0000 per 100 They cost $99.0000 per 1000 They cost $99.0000 per 10000 Logicals can be True or False Logicals can also be Yes or No
Products
Recital, Recital Server