HP C
Run-Time Library Reference Manual for OpenVMS Systems


Previous Contents Index


initstate

Initializes random-number generators.

Format

#include <stdlib.h>

char *initstate (unsigned int seed, char *state, int size);


Arguments

seed

An initial seed value.

state

Pointer to an array of state information.

size

The size of the state information array.

Description

The initstate function initializes random-number generators. It lets you initialize, for future use, a state array passed as an argument. The size, in bytes, of the state array is used by the initstate function to decide how sophisticated a random-number generator to use; the larger the state array, the more random the numbers.

Values for the amount of state information are 8, 32, 64, 128, and 256 bytes. Amounts less than 8 bytes generate an error, while other amounts are rounded down to the nearest known value.

The seed argument specifies a starting point for the random-number sequence and provides for restarting at the same point. The initstate function returns a pointer to the previous state information array.

Once you initialize a state, the setstate function allows rapid switching between states. The array defined by the state argument is used for further random-number generation until the initstate function is called or the setstate function is called again. The setstate function returns a pointer to the previous state array.

After initialization, you can restart a state array at a different point in one of two ways:

See also setstate , srandom , and random .


Return Values

x A pointer to the previous state array information.
0 Indicates an error. Call made with less than 8 bytes of state information. Further specified in the global errno .

[w]insch

Insert a character at the current cursor position in the specified window. The insch function acts on the stdscr window.

Format

#include <curses.h>

int insch (char ch);

int winsch (WINDOW *win, char ch);


Arguments

win

A pointer to the window.

ch

The character to be inserted.

Description

After the character is inserted, each character on the line shifts to the right, and the last character in the line is deleted. For more information, see the scrollok function.

Return Values

OK Indicates success.
ERR Indicates that the function makes the screen scroll illegally.

[w]insertln

Insert a line above the line containing the current cursor position. The insertln function acts on the stdscr window.

Format

#include <curses.h>

int insertln();

int winsertln (WINDOW *win);


Argument

win

A pointer to the window.

Description

The current line and every line below it shifts down, and the bottom line disappears. The inserted line is blank and the current (y,x) coordinates remain the same. For more information, see the scrollok function.

Return Values

OK Indicates success.
ERR Indicates that the function makes the screen scroll illegally.

[w]insstr

Insert a string at the current cursor position in the specified window. The insstr function acts on the stdscr window.

Format

#include <curses.h>

int insstr (char *str);

int winsstr (WINDOW *win, char *str);


Arguments

win

A pointer to the window.

str

A pointer to the string to be inserted.

Description

Each character after the string shifts to the right, and the last character disappears. These functions are specific to HP C for OpenVMS Systems and are not portable.

Return Values

OK Indicates success.
ERR Indicates that the function makes the screen scroll illegally. For more information, see the scrollok function.

isalnum

Indicates if a character is classed either as alphabetic or as a digit in the program's current locale.

Format

#include <ctype.h>

int isalnum (int character);


Argument

character

An object of type int . The value of character must be representable as an unsigned char or must equal the value of the macro EOF. If it has any other value, the behavior is undefined.

Return Values

nonzero If alphanumeric.
0 If not alphanumeric.

isalpha

Indicates if a character is classed as an alphabetic character in the program's current locale.

Format

#include <ctype.h>

int isalpha (int character);


Argument

character

An object of type int . The value of character must be representable as an unsigned char or must equal the value of the macro EOF. If it has any other value, the behavior is undefined.

Return Values

nonzero If alphabetic.
0 If not alphabetic.

isapipe

Indicates if a specified file descriptor is associated with a pipe.

Format

#include <unixio.h>

int isapipe (int file_desc);


Argument

file_desc

A file descriptor.

Description

For more information about pipes, see Chapter 5.

Return Values

1 Indicates an association with a pipe.
0 Indicates no association with a pipe.
- 1 Indicates an error (for example, if the file descriptor is not associated with an open file).

isascii

Indicates if a character is an ASCII character.

Format

#include <ctype.h>

int isascii (int character);


Argument

character

An object of type char .

Return Values

nonzero If ASCII.
0 If not ASCII.

isatty

Indicates if a specified file descriptor is associated with a terminal.

Format

#include <unistd.h>

int isatty (int file_desc);


Argument

file_desc

A file descriptor.

Return Values

1 If the file descriptor is associated with a terminal.
0 If the file descriptor is not associated with a terminal.
- 1 Indicates an error (for example, if the file descriptor is not associated with an open file).

iscntrl

Indicates if a character is classed as a control character in the program's current locale.

Format

#include <ctype.h>

int iscntrl (int character);


Argument

character

An object of type int . The value of character must be representable as an unsigned char or must equal the value of the macro EOF. If it has any other value, the behavior is undefined.

Return Values

nonzero If a control character.
0 If not a control character.

isdigit

Indicates if a character is classed as a digit in the program's current locale.

Format

#include <ctype.h>

int isdigit (int character);


Argument

character

An object of type int . The value of character must be representable as an unsigned char or must equal the value of the macro EOF. If it has any other value, the behavior is undefined.

Return Values

nonzero If a decimal digit.
0 If not a decimal digit.

isgraph

Indicates if a character is classed as a graphic character in the program's current locale.

Format

#include <ctype.h>

int isgraph (int character);


Argument

character

An object of type int . The value of character must be representable as an unsigned char or must equal the value of the macro EOF. If it has any other value, the behavior is undefined.

Return Values

nonzero If a graphic character.
0 If not a graphic character.

islower

Indicates if a character is classed as a lowercase character in the program's current locale.

Format

#include <ctype.h>

int islower (int character);


Argument

character

An object of type int . The value of character must be representable as an unsigned char or must equal the value of the macro EOF. If it has any other value, the behavior is undefined.

Return Values

nonzero If a lowercase alphabetic character.
0 If not a lowercase alphabetic character.

isnan (INTEGRITY SERVERS, ALPHA)

Tests for a NaN. Returns 1 if the argument is NaN; 0 if not.

Format

#include <math.h>

int isnan (double x);

int isnanf (float x);

int isnanl (long double x);


Argument

x

A real value.

Description

The isnan functions return the integer value 1 (TRUE) if x is NaN (the IEEE floating point reserved not-a-number value); otherwise, they return the value 0 (FALSE).

isprint

Indicates if a character is classed as a printing character in the program's current locale.

Format

#include <ctype.h>

int isprint (int character);


Argument

character

An object of type int . The value of character must be representable as an unsigned char or must equal the value of the macro EOF. If it has any other value, the behavior is undefined.

Return Values

nonzero If a printing character.
0 If not a printing character.

ispunct

Indicates if a character is classed as a punctuation character in the program's current locale.

Format

#include <ctype.h>

int ispunct (int character);


Argument

character

An object of type int . The value of character must be representable as an unsigned char or must equal the value of the macro EOF. If it has any other value, the behavior is undefined.

Return Values

nonzero If a punctuation character.
0 If not a punctuation character.

isspace

Indicates if a character is classed as white space in the program's current locale; that is, if it is an ASCII space, tab (horizontal or vertical), carriage-return, form-feed, or new-line character.

Format

#include <ctype.h>

int isspace (int character);


Argument

character

An object of type int . The value of character must be representable as an unsigned char or must equal the value of the macro EOF. If it has any other value, the behavior is undefined.

Return Values

nonzero If a white-space character.
0 If not a white-space character.

isupper

Indicates if a character is classed as an uppercase character in the program's current locale.

Format

#include <ctype.h>

int isupper (int character);


Argument

character

An object of type int . The value of character must be representable as an unsigned char or must equal the value of the macro EOF. If it has any other value, the behavior is undefined.

Return Values

nonzero If an uppercase alphabetic character.
0 If not an uppercase alphabetic character.

iswalnum

Indicates if a wide character is classed either as alphabetic or as a digit in the program's current locale.

Format

#include <wctype.h> (ISO C)

#include <wchar.h> (XPG4)

int iswalnum (wint_t wc);


Argument

wc

An object of type wint_t . The value of character must be representable as a wchar_t in the current locale, or must equal the value of the macro WEOF. If it has any other value, the behavior is undefined.

Return Values

nonzero If alphanumeric.
0 If not alphanumeric.

iswalpha

Indicates if a wide character is classed as an alphabetic character in the program's current locale.

Format

#include <wctype.h> (ISO C)

#include <wchar.h> (XPG4)

int iswalpha (wint_t wc);


Argument

wc

An object of type wint_t . The value of wc must be representable as a wchar_t in the current locale, or must equal the value of the macro WEOF. If it has any other value, the behavior is undefined.

Return Values

nonzero If alphabetic.
0 If not alphabetic.

iswcntrl

Indicates if a wide character is classed as a control character in the program's current locale.

Format

#include <wctype.h> (ISO C)

#include <wchar.h> (XPG4)

int iswcntrl (wint_t wc);


Argument

wc

An object of type wint_t . The value of wc must be representable as a wchar_t in the current locale, or must equal the value of the macro WEOF. If it has any other value, the behavior is undefined.

Return Values

nonzero If a control character.
0 If not a control character.

iswctype

Indicates if a wide character has a specified property.

Format

#include <wctype.h> (ISO C)

#include <wchar.h> (XPG4)

int iswctype (wint_t wc, wctype_t wc_prop);


Arguments

wc

An object of type wint_t . The value of wc must be representable as a valid wide-character code in the current locale, or must equal the value of the macro WEOF. If it has any other value, the behavior is undefined.

wc_prop

A valid property name in the current locale. This is set up by calling the wctype function.

Description

The iswctype function tests whether wc has the character-class property wc_prop. Set wc_prop by calling the wctype function.

See also wctype .


Return Values

nonzero If the character has the property wc_prop.
0 If the character does not have the property wc_prop.

Example


#include <locale.h> 
#include <wchar.h> 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h>                                        
#include <ctype.h> 
 
/* This test will set up the "upper" character class using      */ 
/* wctype() and then verify whether the characters 'a' and 'A'  */ 
/* are members of this class                                    */ 
 
#include <stdlib.h> 
 
main() 
{ 
 
    wchar_t w_char1, 
            w_char2; 
    wctype_t ret_val; 
 
    char *char1 = "a"; 
    char *char2 = "A"; 
 
    ret_val = wctype("upper"); 
 
    /* Convert char1 to wide-character format - w_char1 */ 
 
    if (mbtowc(&w_char1, char1, 1) == -1) { 
       perror("mbtowc"); 
        exit(EXIT_FAILURE); 
    } 
 
    if (iswctype((wint_t) w_char1, ret_val)) 
        printf("[%C] is a member of the character class upper\n", 
                w_char1); 
    else 
     printf("[%C] is not a member of the character class upper\n", 
              w_char1); 
 
    /* Convert char2 to wide-character format - w_char2 */ 
 
    if (mbtowc(&w_char2, char2, 1) == -1) { 
        perror("mbtowc"); 
        exit(EXIT_FAILURE); 
    } 
 
    if (iswctype((wint_t) w_char2, ret_val)) 
        printf("[%C] is a member of the character class upper\n", 
                w_char2); 
    else 
     printf("[%C] is not a member of the character class upper\n", 
                w_char2); 
} 

Running the example program produces the following result:


[a] is not a member of the character class upper 
[A] is a member of the character class upper 


Previous Next Contents Index