Print # Using
Outputs formatted text to a file or device
Syntax
`
Print # filenum , Using formatstring ; [ expressionlist ]
`
Parameters
`filenum`
The file number of a file or device opened for `Output` or `Append`.
`formatstring`
Format string to use.
`expressionlist`
List of items to print, separated by semi-colons.
Description
Output various expressions to a text file or device using a format determined by the `formatstring` parameter. Internally, `Print Using` uses a buffer size of 2048 bytes: while it is highly unlikely that this buffer would be filled, it should be noted that output would be truncated should this limit be reached.
If no expression list is given, the format string will be printed up to the first special marker. Note that the semi-colon after the format string is still necessary, even if no expression list is given.
The format string dictates how the expressions are to be formatted when output to the screen, indicated by the use of special marker characters. There are markers for formatting both string and numeric output:
String formatting

Marker | Formatting
! | prints the first character of a string
\ \ | prints as many characters of a string as occuppied between the pair \ \
& | prints the entire string

Numeric formatting

Marker | Formatting
# | placeholder for a digit
, | placed after integer digit indicates groups of 3 digits should be separated by commas
. | placed near # indicates place for the decimal point
+ | prints the sign of the number when placed to the left of numeric formatting
^^^^ | prints exponential notation when placed to the right of numeric formatting
& | prints a number intelligently, using the exact number of digits required (new to version 0.21.0b)

All of the special marker characters can be escaped, or preceded, with the underscore character `"_"`, allowing them to be printed directly. For example, `"_!"` is printed as `"!"`.
If a numerical value doesn't fit in the form indicated by the format string, the formatting is ignored and the number is printed preceded by the percent `"%"` character. E.g., the number `1234` with a `formatstring` of `"##.##"` would be printed as `"%1234.00"`.
All other characters within the format string are printed as they appear.
Example
`
Const filename As String = "file.txt"
Dim filenum As Integer = FreeFile()
If 0 <> Open(filename, For Output, As filenum) Then
Print "error opening " & filename & " for output."
End -1
End If
Print #filenum, Using "This file is called '&'"; filename
Print #filenum, "Some numerical values are:"
Print #filenum, Using "'###', '+###.###'"; 123.456, -123.456
Close(filenum)
`
will produce the file:

    This file is called 'file.txt'
    Some numerical values are:
    '123', '-123.456'

Differences from QB

- QB didn't allow `"&"` to be used for printing numbers.

See also

- `Print #`
- `Print Using`
- `Format`
- `Open`
- `Using`
- `Palette Using`