*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> f90/scan (3)              
Title
Content
Arch
Section
 

Contents


scan(3Tcl)							    scan(3Tcl)


NAME    [Toc]    [Back]

     scan - Parse string using conversion specifiers in	the style of sscanf

SYNOPSIS    [Toc]    [Back]

     scan string format	varName	?varName ...?

INTRODUCTION    [Toc]    [Back]

     This command parses fields	from an	input string in	the same fashion as
     the ANSI C	sscanf procedure and returns a count of	the number of	      |
     conversions performed, or -1 if the end of	the input string is reached   |
     before any	conversions have been performed.  String gives the input to be
     parsed and	format indicates how to	parse it, using	% conversion
     specifiers	as in sscanf.  Each varName gives the name of a	variable; when
     a field is	scanned	from string the	result is converted back into a	string
     and assigned to the corresponding variable.


DETAILS	ON SCANNING
     Scan operates by scanning string and formatString together.  If the next
     character in formatString is a blank or tab then it matches any number of
     white space characters in string (including zero).	 Otherwise, if it
     isn't a % character then it must match the	next character of string.
     When a % is encountered in	formatString, it indicates the start of	a
     conversion	specifier.  A conversion specifier contains three fields after
     the %:  a *, which	indicates that the converted value is to be discarded
     instead of	assigned to a variable;	a number indicating a maximum field
     width; and	a conversion character.	 All of	these fields are optional
     except for	the conversion character.

     When scan finds a conversion specifier in formatString, it	first skips
     any white-space characters	in string.  Then it converts the next input
     characters	according to the conversion specifier and stores the result in
     the variable given	by the next argument to	scan.  The following
     conversion	characters are supported:

     d	       The input field must be a decimal integer.  It is read in and
	       the value is stored in the variable as a	decimal	string.

     o	       The input field must be an octal	integer. It is read in and the
	       value is	stored in the variable as a decimal string.

     x	       The input field must be a hexadecimal integer. It is read in
	       and the value is	stored in the variable as a decimal string.

     c	       A single	character is read in and its binary value is stored in
	       the variable as a decimal string.  Initial white	space is not
	       skipped in this case, so	the input field	may be a white-space
	       character.  This	conversion is different	from the ANSI standard
	       in that the input field always consists of a single character
	       and no field width may be specified.




									Page 1






scan(3Tcl)							    scan(3Tcl)



     s	       The input field consists	of all the characters up to the	next
	       white-space character; the characters are copied	to the
	       variable.

     e or f or g
	       The input field must be a floating-point	number consisting of
	       an optional sign, a string of decimal digits possibly
	       containing a decimal point, and an optional exponent consisting
	       of an e or E followed by	an optional sign and a string of
	       decimal digits.	It is read in and stored in the	variable as a
	       floating-point string.

     [chars]   The input field consists	of any number of characters in chars.
	       The matching string is stored in	the variable.  If the first
	       character between the brackets is a ] then it is	treated	as
	       part of chars rather than the closing bracket for the set.

     [^chars]  The input field consists	of any number of characters not	in
	       chars.  The matching string is stored in	the variable.  If the
	       character immediately following the ^ is	a ] then it is treated
	       as part of the set rather than the closing bracket for the set.

     The number	of characters read from	the input for a	conversion is the
     largest number that makes sense for that particular conversion (e.g.  as
     many decimal digits as possible for %d, as	many octal digits as possible
     for %o, and so on).  The input field for a	given conversion terminates
     either when a white-space character is encountered	or when	the maximum
     field width has been reached, whichever comes first.  If a	* is present
     in	the conversion specifier then no variable is assigned and the next
     scan argument is not consumed.

DIFFERENCES FROM ANSI SSCANF    [Toc]    [Back]

     The behavior of the scan command is the same as the behavior of the ANSI
     C sscanf procedure	except for the following differences:

     [1]  %p and %n conversion specifiers are not currently supported.	      |

     [2]  For %c conversions a single character	value is converted to a
	  decimal string, which	is then	assigned to the	corresponding varName;
	  no field width may be	specified for this conversion.

     [3]  The l, h, and	L modifiers are	ignored;  integer values are always   |
	  converted as if there	were no	modifier present and real values are  |
	  always converted as if the l modifier	were present (i.e. type	double|
	  is used for the internal representation).

KEYWORDS    [Toc]    [Back]

     conversion	specifier, parse, scan





									Page 2



SCAN(3I)					       Last changed: 1-6-98

NAME    [Toc]    [Back]

     SCAN - Scans a string for any one of the characters in a set of
     characters

SYNOPSIS    [Toc]    [Back]

     SCAN ([STRING=]string, [SET=]set [,[BACK=]back])

IMPLEMENTATION    [Toc]    [Back]

     UNICOS, UNICOS/mk,	and IRIX systems

STANDARDS    [Toc]    [Back]

     Fortran 90

DESCRIPTION    [Toc]    [Back]

     The SCAN intrinsic	function scans a string	for any	one of the
     characters	in a set of characters.	 It accepts the	following
     arguments:

     string    Must be of type character.

     set       Must be of type character.

     back      Must be of type logical.	 If back is omitted, a value of
	       false is	assumed.

     SCAN is an	elemental function.  The name of this intrinsic	cannot be
     passed as an argument.

RETURN VALUES    [Toc]    [Back]

     SCAN returns the character	position of the	first character	in string
     that matches any characters in set.  The result is	a default integer.

     If	back is	absent or present with value false and if string contains
     at	least one character that is in set, the	value of the result is the
     position of the leftmost character	of string that is in set.

     If	back is	present	with the value true, and if string contains at
     least one character that is in set, the value of the result is the
     position of the rightmost character of string that	is in set.

     SCAN returns zero if no character in string is in set, or if the
     length of string is zero.

EXAMPLES    [Toc]    [Back]

     Example 1:	 The statement SCAN('FORTRAN', 'TR') returns the value 3.

     Example 2:	 The statement SCAN('FORTRAN', 'TR', BACK=.TRUE.) returns
     the value 5.

     Example 3:	 The statement SCAN('FORTRAN', 'BCD') returns the value	0.

SEE ALSO    [Toc]    [Back]

      
      
     Intrinsic Procedures Reference Manual, publication	SR-2138, for the
     printed version of	this man page.

SCAN(3I)					       Last changed: 1-6-98

NAME    [Toc]    [Back]

     SCAN - Scans a string for any one of the characters in a set of
     characters

SYNOPSIS    [Toc]    [Back]

     SCAN ([STRING=]string, [SET=]set [,[BACK=]back])

IMPLEMENTATION    [Toc]    [Back]

     UNICOS, UNICOS/mk,	and IRIX systems

STANDARDS    [Toc]    [Back]

     Fortran 90

DESCRIPTION    [Toc]    [Back]

     The SCAN intrinsic	function scans a string	for any	one of the
     characters	in a set of characters.	 It accepts the	following
     arguments:

     string    Must be of type character.

     set       Must be of type character.

     back      Must be of type logical.	 If back is omitted, a value of
	       false is	assumed.

     SCAN is an	elemental function.  The name of this intrinsic	cannot be
     passed as an argument.

RETURN VALUES    [Toc]    [Back]

     SCAN returns the character	position of the	first character	in string
     that matches any characters in set.  The result is	a default integer.

     If	back is	absent or present with value false and if string contains
     at	least one character that is in set, the	value of the result is the
     position of the leftmost character	of string that is in set.

     If	back is	present	with the value true, and if string contains at
     least one character that is in set, the value of the result is the
     position of the rightmost character of string that	is in set.

     SCAN returns zero if no character in string is in set, or if the
     length of string is zero.

EXAMPLES    [Toc]    [Back]

     Example 1:	 The statement SCAN('FORTRAN', 'TR') returns the value 3.

     Example 2:	 The statement SCAN('FORTRAN', 'TR', BACK=.TRUE.) returns
     the value 5.

     Example 3:	 The statement SCAN('FORTRAN', 'BCD') returns the value	0.

SEE ALSO    [Toc]    [Back]

      
      
     Intrinsic Procedures Reference Manual, publication	SR-2138, for the
     printed version of	this man page.

[ Back ]
 Similar pages
Name OS Title
dp Tru64 parse dates RFC 822-style
getsubopt IRIX parse suboptions from a string
strptime FreeBSD parse date and time string
format IRIX Format a string in the style of sprintf
XmParseMappingCreate HP-UX A compound string function to create a parse mapping
XmParseMapping HP-UX Data type for a compound string parse mapping
XmParseMappingSetValues HP-UX A compound string function to set attributes of a parse mapping
XmParseMappingFree HP-UX A compound string function to free a parse mapping
XmParseTable HP-UX Data type for a compound string parse table
XmParseMappingGetValues HP-UX A compound string function to retrieve attributes of a parse mapping
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service