Admin Production ni-theme
Current Publication

ScanFile

LabWindows/CVI

ScanFile

int ScanFile (int fileHandle, char formatString[], ...);

Purpose

Scans source data from the file you specify in the fileHandle parameter and breaks the data into component parts according to format specifiers you specify in formatString. ScanFile then places the components into the target parameter. You can specify up to 29 target arguments.

The amount of data ScanFile reads from the file depends on the amount needed to fulfill the target format specifiers in the format string. The Using the Formatting and Scanning Functions section includes a complete discussion of ScanFile.

Note   This function cannot convert NaN and Inf in ASCII files to double-precision numbers. This function can convert these special double-precision numbers in binary files. If your data contains these special double-precision numbers, National Instruments recommends using files in binary format with this function.

Parameters

Input
Name Type Description
fileHandle int Specifies which file to read the data from. This is the value that OpenFile originally returned or 0. If the value is 0, ScanFile reads data from the Standard I/O window.

Refer to the Using the Formatting and Scanning Functions section for more information.
formatString char [] Contains format specifiers that appropriately describe the source and target data to be formatted.

For the three scan functions, the target specifiers must be provided in the format string.

The source specifier may be omitted, in which case the source is assumed to be %s (string). If a source data type other than string is desired, the format string must begin with the specifier of the desired source type, plus the "›" symbol, followed by the target specifiers.

For example, the following calls are equivalent:

x = Scan (s, "%d", i)

x = Scan (s, "%s›%d", i)

The following list includes common specifiers:

%d Indicates that the source or target is an integer.
%i Same as %d.
%f Indicates that the source or target is a double–precision real number.
%s Indicates that the source or target is a string. You may convert numeric values into ASCII form using the %s target specifier.
%10f Indicates that the source or target is an array of ten double–precision real numbers.

Because the data formatting functions can describe many complex formatting operations, refer to the Using the Formatting and Scanning Functions section to make sure you are using the proper format specifier for your application.
Output
Name Type Description
target_s ... Specifies the variables in which to store the scanned items. You can specify up to 29 arguments, and you must separate the arguments with commas. Only the value of the first argument is shown at the bottom of the control after you execute the function panel.

Refer to the Using the Formatting and Scanning Functions section for more information.

Return Value

Name Type Description
ItemsFormatted int Number of target format specifiers satisfied. To get the number of bytes scanned from the file, call NumFmtdBytes. If the return value is less than the number of target items, then the source did not contain the exact number and type of items specified in the format string.

This function returns –1 to indicate an error in the format string or –2 to indicate an I/O error. If this value is –2, you can use GetFmtIOError to get more information about the type of error that occurred.

Additional Information

Library: Formatting and I/O Library

Include file: formatio.h

LabWindows/CVI compatibility: LabWindows/CVI 3.0 and later