Scans the input string and converts the string according to format string.
Use this function when you know the exact format of the input. The input can be string path, enumerated type, time stamp, or numeric data. Alternatively, you can use the Scan From File function to scan text from a file. The connector pane displays the default data types for this polymorphic function.

![]() |
format string specifies how to convert the input string into the output arguments.
The default is to scan the string according to the default format for the data types of the outputs. Formatting a time stamp as anything other than time returns an error. Right-click the function and select Edit Scan String from the shortcut menu to create and edit the format string. A space in format string matches any amount of white space, such as spaces, tabs, linefeeds, and form feeds. This input accepts a maximum of 255 characters. |
||||||
![]() |
input string is the string path, enumerated type, time stamp, or numeric data to scan. | ||||||
![]() |
initial scan location is the offset into the string where the scan begins. The default is 0. | ||||||
![]() |
error in describes error conditions that occur before this VI or function runs.
The default is no error. If an error occurred before this VI or function runs, the VI or function passes the error in value to error out. This VI or function runs normally only if no error occurred before this VI or function runs. If an error occurs while this VI or function runs, it runs normally and sets its own error status in error out. Use the Simple Error Handler or General Error Handler VIs to display the description of the error code. Use error in and error out to check errors and to specify execution order by wiring error out from one node to error in of the next node.
| ||||||
![]() |
default 1..n specifies the type and default value for the output parameters. If this function cannot scan the input value from format string, the function uses the default. If you do not wire default 1 and you wire a constant to format string, the function uses format string to determine the type of the output. Otherwise, the default data type is double-precision, floating-point. The default value is 0 or an empty string, depending on the output data type. If you wire an enumerated type to default 1, the function finds substrings matching the string values in the enumerated type and returns the corresponding numeric value of the enumerated type. | ||||||
![]() |
remaining string returns the portion of the string that remains after scanning all arguments. | ||||||
![]() |
offset past scan is the offset of input string after completing the scan. | ||||||
![]() |
error out contains error information. If error in indicates that an error occurred before this VI or function ran, error out contains the same error information. Otherwise, it describes the error status that this VI or function produces.
Right-click the error out front panel indicator and select Explain Error from the shortcut menu for more information about the error.
| ||||||
![]() |
output 1..n specifies the output parameters. Each output can be a string path, enumerated type, time stamp, or any numeric data type. If you scan a string that does not fit into the numeric data type you specify, this function returns the largest number that fits into that data type. You cannot use arrays and clusters with this function. |
Increase the number of parameters by right-clicking the function and selecting Add Parameter from the shortcut menu or by resizing the function.
![]() | Note If an error occurs, the source component of the error out cluster contains a string of the form ''Scan From String (arg n),'' where n is the first argument for which the error occurred. |
If you set format string to return numeric values in the output parameters, LabVIEW ignores white spaces in the input string.
If you wire a block diagram constant string to format string, LabVIEW uses format string to determine the number of outputs and the data type of each output at compile time. If the types you wire to the outputs do not match the types determined by format string, you must change the output types before the VI can run.
If you do not directly wire a block diagram constant to format string, LabVIEW checks for type mismatches at run time. If you want to scan values that have data types other than double-precision, floating point, you must wire the data types to default 1..n.
![]() | Note By default, this function is locale aware, which means that it uses the system decimal separator configured in the regional settings of the operating system. In some instances, such as using GPIB instruments on European operating systems, you may need to override the system decimal separator by using the localization code syntax elements. |
| input string | format string | default(s) | output(s) | remaining string |
|---|---|---|---|---|
| abc, xyz 12.3+56i 7200 | %3s, %s%f%2d | — | abc | 00 |
| — | xyz | |||
| 0.00 +0.00 i | 12.30 +56.00 i | |||
| — | 72 | |||
| Q+1.27E-3 tail | Q%f t | — | 1.27E-3 | ail |
| 0123456789 | %3d%3d | — | 12.00 | 6789 |
| — | 345 | |||
| X:9.860 Z:3.450 | X:%fY:%f | 100 (I32) | 10 | Z: 3450 |
| 100.00 (DBL) | 100.00 | |||
| set49.4.2 | set%d | — | 49 | .4.2 |
| color: red | color: %s | blue (enum {red, green, blue}) | red | — |
| abcd012xyz3 | %[a-z]%d%[a-z]%d | — | abcd | — |
| 12 | ||||
| xyz | ||||
| 3 | ||||
| welcome to LabVIEW, John Smith | %[^,],%s | — | welcome to LabVIEW | Smith |
| John | ||||
| Time: 23:15:04.25 5/31/2004 | Time: %<%H:%M:%S%2u%m/%d/%y>T | 1/1/1904 | 11:15:04.250 PM 5/31/2004 | — |