Core Function Scanf
From Sputnik Wiki
(Difference between revisions)
(→Example) |
(→Example) |
||
| Line 31: | Line 31: | ||
<syntaxhighlight lang="sputnik"> | <syntaxhighlight lang="sputnik"> | ||
my $RET = Scanf("X123 Y456", "X%d Y%d"); | my $RET = Scanf("X123 Y456", "X%d Y%d"); | ||
| + | printr($RET); | ||
| + | |||
| + | my $RET = Scanf("Copyright 2009-2011 CompanyName (Multi-Word Message)", "Copyright %d-%d %s (%[^)]"); | ||
printr($RET); | printr($RET); | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | Example #1 sscanf() Example | ||
| + | <syntaxhighlight lang="sputnik"> | ||
| + | // getting the serial number | ||
| + | list($serial) = Scanf("SN/2350001", "SN/%d"); | ||
| + | // and the date of manufacturing | ||
| + | $mandate = "January 01 2000"; | ||
| + | list($month, $day, $year) = Scanf($mandate, "%s %d %d"); | ||
| + | println("Item $serial was manufactured on: $year-" . substr($month, 0, 3) . "-$day"); | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | Example #2 sscanf() - using optional parameters | ||
| + | If optional parameters are passed, the function will return the number of assigned values. | ||
| + | <syntaxhighlight lang="sputnik"> | ||
| + | // get author info and generate DocBook entry | ||
| + | $auth = "24\tLewis Carroll"; | ||
| + | $n = Scanf($auth, "%d\t%s %s", $id, $first, $last); | ||
| + | print("<author id='$id'> | ||
| + | <firstname>$first</firstname> | ||
| + | <surname>$last</surname> | ||
| + | </author>\n"); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
[[Category:Core Function]] | [[Category:Core Function]] | ||
Revision as of 16:31, 22 January 2013
Scanf( <expression>, <def> )
Contents |
Description
Parses input from a string according to a format.
Parameters
expression
The string to evaluate.
def
The formation string containing the definition of how to parse the string.
Return Value
Success: Returns array of all captured objects from the parsed string.
Failure: Returns empty array.
Remarks
None.
Example
my $RET = Scanf("X123 Y456", "X%d Y%d"); printr($RET); my $RET = Scanf("Copyright 2009-2011 CompanyName (Multi-Word Message)", "Copyright %d-%d %s (%[^)]"); printr($RET);
Example #1 sscanf() Example
// getting the serial number list($serial) = Scanf("SN/2350001", "SN/%d"); // and the date of manufacturing $mandate = "January 01 2000"; list($month, $day, $year) = Scanf($mandate, "%s %d %d"); println("Item $serial was manufactured on: $year-" . substr($month, 0, 3) . "-$day");
Example #2 sscanf() - using optional parameters If optional parameters are passed, the function will return the number of assigned values.
// get author info and generate DocBook entry $auth = "24\tLewis Carroll"; $n = Scanf($auth, "%d\t%s %s", $id, $first, $last); print("<author id='$id'> <firstname>$first</firstname> <surname>$last</surname> </author>\n");