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

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

Contents


INDEX(3F)							     INDEX(3F)


NAME    [Toc]    [Back]

     index - return location of	FORTRAN	substring

SYNOPSIS    [Toc]    [Back]

     character*N1 ch1
     character*N2 ch2
     integer i

     i = index(ch1, ch2)

DESCRIPTION    [Toc]    [Back]

     The result	of index is an integer value indicating	the position in	the
     first argument of the first substring which is identical to the second
     argument.	The result of index('ABCDEF','CD'), for	example, would be 3.
     If	no substring of	the first argument matches the second argument,	the
     result is zero.  index returns the	result type integer*2 if the -i2
     compile option is in effect; otherwise, the result	type is	integer*4.






































									Page 1



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

NAME    [Toc]    [Back]

     INDEX - Determines	the starting location of a character substring in a
     string

SYNOPSIS    [Toc]    [Back]

     INDEX ([STRING=]string, [SUBSTRING=]substring [,[BACK=]back])

IMPLEMENTATION    [Toc]    [Back]

     UNICOS, UNICOS/mk,	and IRIX systems

STANDARDS    [Toc]    [Back]

     Fortran 90

DESCRIPTION    [Toc]    [Back]

     The INDEX intrinsic function returns the starting position	of a
     substring within a	string from either the right or	left end of the
     string.  It accepts the following arguments:

     string    Must be of type character.

     substring Must be of type character.

     back      Must be of type logical.	 If omitted, a value of	false is
	       assumed.	 If present, the search	begins at the end of
	       string.

     INDEX is an elemental function.  The name of this intrinsic can be
     passed as an argument.

NOTES    [Toc]    [Back]

     When the INDEX intrinsic function is passed as an actual argument,	it
     must be called with only the first	two arguments in the routine that
     calls the passed-in function.

RETURN VALUES    [Toc]    [Back]

     The back argument can affect the return value as follows:

     * If back is absent or is present with the	value FALSE, the INDEX
       search is relative to the left end of string.  The result is the
       minimum positive	value of i, as follows:

	  string ( i : i + LEN(	substring ) - 1	) = substring

       If the length of	substring is 0,	a value	of 1 is	returned.

     * If back is present with the value TRUE, the INDEX search	is relative
       to the right end	of string.  The	result is the maximum positive
       value of	the following:

	  i <= LEN( string ) - LEN( substring )	+ 1

       In the preceding	equation, substring is as follows:

	  string ( i : i + LEN(	substring ) - 1	) = substring

       If the length of	substring is 0,	the value returned is as follows:

	  LEN( string )	+ 1.

     If	substring occurs more than once	in string, INDEX returns the index
     to	the first occurrence.

     The return	value is 0 if substring	is not located within string.

     The return	value is 0 if the length of string is less than	the length
     of	substring.

EXAMPLES    [Toc]    [Back]

     Example 1:	 INDEX('FORTRAN','R') has the value 3.

     Example 2:	 INDEX('FORTRAN','R',BACK=.TRUE.) has the value	5.

     Example 3:	 The following program returns the index I=11 for the
     substring SUPERCOMPUTER:

	  PROGRAM INDEX1
	  CHARACTER*23 A
	  CHARACTER*13 B
	  A = 'CRAY T90	SUPERCOMPUTER'
	  B = 'SUPERCOMPUTER'
	  I = INDEX(A,B)
	  PRINT	*, I
	  STOP
	  END

SEE ALSO    [Toc]    [Back]

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




string(3C)							    string(3C)


NAME    [Toc]    [Back]

     string: strcat, strdup, strncat, strcmp, strncmp, strcpy, strncpy,
     strlen, strchr, strrchr, strpbrk, strspn, strcspn,	strtok,	strstr
     strcasecmp, strncasecmp, index, rindex, strtok_r -	string operations

SYNOPSIS    [Toc]    [Back]

     #include <string.h>

     char *strcat (char	*s1, const char	*s2);

     char *strdup (const char *s1);

     char *strncat (char *s1, const char *s2, size_t n);

     int strcmp	(const char *s1, const char *s2);

     int strncmp (const	char *s1, const	char *s2, size_t n);

     int strcasecmp (const char	*s1, const char	*s2);

     int strncasecmp (const char *s1, const char *s2, size_t n);

     char *strcpy (char	*s1, const char	*s2);

     char *strncpy (char *s1, const char *s2, size_t n);

     size_t strlen (const char *s);

     char *strchr (const char *s, int c);

     char *strrchr (const char *s, int c);

     char *strpbrk (const char *s1, const char *s2);

     size_t strspn (const char *s1, const char *s2);

     size_t strcspn (const char	*s1, const char	*s2);

     char *strtok (char	*s1, const char	*s2);

     char *strtok_r (char *s1, const char *s2, char **lasts);

     char *strstr (const char *s1, const char *s2);

     #include <strings.h>

     char *index (const	char *s, int c);

     char *rindex (const char *s, int c);






									Page 1






string(3C)							    string(3C)


DESCRIPTION    [Toc]    [Back]

     The arguments s, s1, and s2 point to strings (arrays of characters
     terminated	by a null character).  The functions strcat, strncat, strcpy,
     strncpy, strtok_r,	and strtok, all	alter s1.  These functions do not
     check for overflow	of the array pointed to	by s1, or for overlap between
     s1	and s2.	 If overflow of	s1 occurs, or copying takes place when s1 and
     s2	overlap, the behavior is undefined.

     strcat appends a copy of string s2, including the terminating null
     character,	to the end of string s1.  strncat appends at most n
     characters.  Each returns a pointer to the	null-terminated	result.	 The
     initial character of s2 overrides the null	character at the end of	s1.

     strcmp compares its arguments and returns an integer less than, equal to,
     or	greater	than 0,	based upon whether s1 is lexicographically less	than,
     equal to, or greater than s2.  strncmp makes the same comparison but
     looks at at most n	characters.  Characters	following a null character are
     not compared.  strcasecmp and strncasecmp are case-insensitive versions
     of	strcmp and strncmp, respectively.  Case-insensitive comparison is
     implemented by converting upper-case ASCII	characters to lower-case
     before comparison.	 Thus strcasecmp and strncasecmp only give meaningful
     results for the "C" locale	(7 bit ASCII).

     strcpy copies string s2 to	s1 including the terminating null character,
     stopping after the	null character has been	copied.	 strncpy copies
     exactly n characters, truncating s2 or adding null	characters to s1 if
     necessary (ie. if the length of n is greater than the length of s2	).
     The result	will not be null-terminated if the length of s2	is n or	more.
     Each function returns s1.

     strdup returns a pointer to a new string which is a duplicate of the
     string pointed to by s1. The space	for the	new string is obtained using
     malloc(3C).  If the new string can	not be created,	a NULL pointer is
     returned.

     strlen returns the	number of characters in	s, not including the
     terminating null character.

     strchr (or	strrchr) returns a pointer to the first	(last) occurrence of c
     (converted	to a char) in string s,	or a NULL pointer if c does not	occur
     in	the string.  The null character	terminating a string is	considered to
     be	part of	the string.

     index (rindex) are	included as duplicates of strchr (strrchr) for
     compatibility (see	Notes).

     strpbrk returns a pointer to the first occurrence in string s1 of any
     character from string s2, or a NULL pointer if no character from s2
     exists in s1.






									Page 2






string(3C)							    string(3C)



     strspn (or	strcspn) returns the length of the initial segment of string
     s1	which consists entirely	of characters from (not	from) string s2.

     strtok considers the string s1 to consist of a sequence of	zero or	more
     text tokens separated by spans of one or more characters from the
     separator string s2.  The first call (with	pointer	s1 specified) returns
     a pointer to the first character of the first token, and will have
     written a null character into s1 immediately following the	returned
     token. The	function keeps track of	its position in	the string between
     separate calls, so	that subsequent	calls (which must be made with the
     first argument a NULL pointer) will work through the string s1
     immediately following that	token.	In this	way subsequent calls will work
     through the string	s1 until no tokens remain.  The	separator string s2
     may be different from call	to call.  When no token	remains	in s1, a NULL
     pointer is	returned.  Note	that a string consisting entirely of nonseparator
 characters is considered	a single token.	 For example, if the
     initial call to strtok is made with s1 pointing to	a string consisting
     entirely of non-separator characters, then	the return value from strtok
     will be the value of s1 passed to strtok.

     strtok_r is a reentrant version of	strtok.	 The current location in the
     string is kept track of in	lasts.	On the first call to strtok_r, lasts
     should be a pointer to a NULL pointer. It is kept updated on each
     successive	call to	strtok_r to point into s1 directly after the null
     character.	 lasts must not	be changed between calls to strtok_r.  The
     feature test macro	_SGI_REENTRANT_FUNCTIONS should	be defined to make
     this function visible.

     strstr locates the	first occurrence in string s1 of the sequence of
     characters	(excluding the terminating null	character) in string s2.
     strstr returns a pointer to the located string, or	a null pointer if the
     string is not found. If s2	points to a string with	zero length (i.e., the
     string ""), the function returns s1.

SEE ALSO    [Toc]    [Back]

      
      
     malloc(3C), memory(3C), setlocale(3C), strcoll(3C), strerror(3C),
     strxfrm(3C).

NOTES    [Toc]    [Back]

     All of these functions assume the default locale ``C.''  For some
     locales, strxfrm should be	applied	to the strings before they are passed
     to	the functions.

     Declarations for index and	rindex are specifically	omitted	from
     <string.h>	due to possible	naming conflicts. Instead, they	are declared
     in	<strings.h>.

     The index,	rindex,	strcasecmp, strncasecmp	routines are from the 4.3BSD
     or	4.3BSD-tahoe standard C	library.






									Page 3



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

NAME    [Toc]    [Back]

     INDEX - Determines	the starting location of a character substring in a
     string

SYNOPSIS    [Toc]    [Back]

     INDEX ([STRING=]string, [SUBSTRING=]substring [,[BACK=]back])

IMPLEMENTATION    [Toc]    [Back]

     UNICOS, UNICOS/mk,	and IRIX systems

STANDARDS    [Toc]    [Back]

     Fortran 90

DESCRIPTION    [Toc]    [Back]

     The INDEX intrinsic function returns the starting position	of a
     substring within a	string from either the right or	left end of the
     string.  It accepts the following arguments:

     string    Must be of type character.

     substring Must be of type character.

     back      Must be of type logical.	 If omitted, a value of	false is
	       assumed.	 If present, the search	begins at the end of
	       string.

     INDEX is an elemental function.  The name of this intrinsic can be
     passed as an argument.

NOTES    [Toc]    [Back]

     When the INDEX intrinsic function is passed as an actual argument,	it
     must be called with only the first	two arguments in the routine that
     calls the passed-in function.

RETURN VALUES    [Toc]    [Back]

     The back argument can affect the return value as follows:

     * If back is absent or is present with the	value FALSE, the INDEX
       search is relative to the left end of string.  The result is the
       minimum positive	value of i, as follows:

	  string ( i : i + LEN(	substring ) - 1	) = substring

       If the length of	substring is 0,	a value	of 1 is	returned.

     * If back is present with the value TRUE, the INDEX search	is relative
       to the right end	of string.  The	result is the maximum positive
       value of	the following:

	  i <= LEN( string ) - LEN( substring )	+ 1

       In the preceding	equation, substring is as follows:

	  string ( i : i + LEN(	substring ) - 1	) = substring

       If the length of	substring is 0,	the value returned is as follows:

	  LEN( string )	+ 1.

     If	substring occurs more than once	in string, INDEX returns the index
     to	the first occurrence.

     The return	value is 0 if substring	is not located within string.

     The return	value is 0 if the length of string is less than	the length
     of	substring.

EXAMPLES    [Toc]    [Back]

     Example 1:	 INDEX('FORTRAN','R') has the value 3.

     Example 2:	 INDEX('FORTRAN','R',BACK=.TRUE.) has the value	5.

     Example 3:	 The following program returns the index I=11 for the
     substring SUPERCOMPUTER:

	  PROGRAM INDEX1
	  CHARACTER*23 A
	  CHARACTER*13 B
	  A = 'CRAY T90	SUPERCOMPUTER'
	  B = 'SUPERCOMPUTER'
	  I = INDEX(A,B)
	  PRINT	*, I
	  STOP
	  END

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
pthread_stackseg_np OpenBSD return stack size and location
telldir Linux return current location in directory stream.
len Tru64 return length of Fortran string
len IRIX return length of Fortran string
len IRIX return length of Fortran string
mclock IRIX return Fortran time accounting
getarg IRIX return Fortran command-line argument
memmem Linux locate a substring
strstr Tru64 Find a substring
strstr Linux locate a substring
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service