Previous | Contents | Index |
Initializes random-number generators.
#include <stdlib.h>char *initstate (unsigned int seed, char *state, int size);
seed
An initial seed value.state
Pointer to an array of state information.size
The size of the state information array.
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:
- Use the initstate function with the desired seed argument, state array, and size of the array.
- Use the setstate function with the desired state, followed by the srandom function with the desired seed. The advantage of using both functions is that you do not have to save the state array size once you initialize it.
See also setstate , srandom , and random .
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 .
Insert a character at the current cursor position in the specified window. The insch function acts on the stdscr window.
#include <curses.h>int insch (char ch);
int winsch (WINDOW *win, char ch);
win
A pointer to the window.ch
The character to be inserted.
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.
OK Indicates success. ERR Indicates that the function makes the screen scroll illegally.
Insert a line above the line containing the current cursor position. The insertln function acts on the stdscr window.
#include <curses.h>int insertln();
int winsertln (WINDOW *win);
win
A pointer to the window.
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.
OK Indicates success. ERR Indicates that the function makes the screen scroll illegally.
Insert a string at the current cursor position in the specified window. The insstr function acts on the stdscr window.
#include <curses.h>int insstr (char *str);
int winsstr (WINDOW *win, char *str);
win
A pointer to the window.str
A pointer to the string to be inserted.
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.
OK Indicates success. ERR Indicates that the function makes the screen scroll illegally. For more information, see the scrollok function.
Indicates if a character is classed either as alphabetic or as a digit in the program's current locale.
#include <ctype.h>int isalnum (int character);
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.
nonzero If alphanumeric. 0 If not alphanumeric.
Indicates if a character is classed as an alphabetic character in the program's current locale.
#include <ctype.h>int isalpha (int character);
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.
nonzero If alphabetic. 0 If not alphabetic.
Indicates if a specified file descriptor is associated with a pipe.
#include <unixio.h>int isapipe (int file_desc);
file_desc
A file descriptor.
For more information about pipes, see Chapter 5.
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).
Indicates if a character is an ASCII character.
#include <ctype.h>int isascii (int character);
character
An object of type char .
nonzero If ASCII. 0 If not ASCII.
Indicates if a specified file descriptor is associated with a terminal.
#include <unistd.h>int isatty (int file_desc);
file_desc
A file descriptor.
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).
Indicates if a character is classed as a control character in the program's current locale.
#include <ctype.h>int iscntrl (int character);
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.
nonzero If a control character. 0 If not a control character.
Indicates if a character is classed as a digit in the program's current locale.
#include <ctype.h>int isdigit (int character);
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.
nonzero If a decimal digit. 0 If not a decimal digit.
Indicates if a character is classed as a graphic character in the program's current locale.
#include <ctype.h>int isgraph (int character);
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.
nonzero If a graphic character. 0 If not a graphic character.
Indicates if a character is classed as a lowercase character in the program's current locale.
#include <ctype.h>int islower (int character);
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.
nonzero If a lowercase alphabetic character. 0 If not a lowercase alphabetic character.
Tests for a NaN. Returns 1 if the argument is NaN; 0 if not.
#include <math.h>int isnan (double x);
int isnanf (float x);
int isnanl (long double x);
x
A real value.
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).
Indicates if a character is classed as a printing character in the program's current locale.
#include <ctype.h>int isprint (int character);
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.
nonzero If a printing character. 0 If not a printing character.
Indicates if a character is classed as a punctuation character in the program's current locale.
#include <ctype.h>int ispunct (int character);
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.
nonzero If a punctuation character. 0 If not a punctuation character.
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.
#include <ctype.h>int isspace (int character);
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.
nonzero If a white-space character. 0 If not a white-space character.
Indicates if a character is classed as an uppercase character in the program's current locale.
#include <ctype.h>int isupper (int character);
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.
nonzero If an uppercase alphabetic character. 0 If not an uppercase alphabetic character.
Indicates if a wide character is classed either as alphabetic or as a digit in the program's current locale.
#include <wctype.h> (ISO C)#include <wchar.h> (XPG4)
int iswalnum (wint_t wc);
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.
nonzero If alphanumeric. 0 If not alphanumeric.
Indicates if a wide character is classed as an alphabetic character in the program's current locale.
#include <wctype.h> (ISO C)#include <wchar.h> (XPG4)
int iswalpha (wint_t wc);
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.
nonzero If alphabetic. 0 If not alphabetic.
Indicates if a wide character is classed as a control character in the program's current locale.
#include <wctype.h> (ISO C)#include <wchar.h> (XPG4)
int iswcntrl (wint_t wc);
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.
nonzero If a control character. 0 If not a control character.
Indicates if a wide character has a specified property.
#include <wctype.h> (ISO C)#include <wchar.h> (XPG4)
int iswctype (wint_t wc, wctype_t wc_prop);
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.
The iswctype function tests whether wc has the character-class property wc_prop. Set wc_prop by calling the wctype function.See also wctype .
nonzero If the character has the property wc_prop. 0 If the character does not have the property wc_prop.
#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 |