CHARACTER ARRAYS AND STRINGS
A STRING IS A SEQUENCE OF CHARACTERS THAT IS TREATED AS A SINGLE DATA ITEM. ANY GROUP OF CHARACTER DEFINE BETWEEN DOUBLE QUOTES IS A STRING CONSTANT.
DECLARING AND INITIALIZING STRING VARIABLES
C DOES NOT SUPPORT STRING AS A DATA TYPE. IT ALLOWS US TO REPRESENT STRINGS AS CHARACTER ARRAYS. A STRING VARIABLE IS ANY VALID C VARIABLE NAME AND IS ALWAYS DECLARED AS AN ARRAY OF CHARACTER. THE GENERAL FORM OF A STRING VARIABLE IS ,
CHAR STRING NAME [ SIZE ];
EXAMPLE : CHAR NAME [ 30 ];
CHARACTER ARRAYS CAN BE INITIALIZED WHEN THEY ARE DECLARED. A CHARACTER ARRAY CAN BE INITIALIZED BY TWO FORMS.
CHAR CITY [ 9 ] = " NEW YORK ";
CHARACTER ARRAYS CAN BE INITIALIZED WHEN THEY ARE DECLARED. A CHARACTER ARRAY CAN BE INITIALIZED BY TWO FORMS.
CHAR CITY [ 9 ] = " NEW YORK";
CHAR CITY [ 9 ] = { 'N','E','W',' ','Y','O','R','K' }
READING STRING FROM TERMINAL
USING SCANF FUNCTION
THE FAMILIAR INPUT FUNCTION SCANF CAN BE USED WITH %S FORMAT SPECIFICATION TO READ IN A STRING OF CHARACTERS.
EXAMPLE :
CHAR ADDRESS [ 10 ];
SCANF("%S",ADDRESS);
USING GETCHAR( ) AND GETS( ) FUNCTIONS
TO READ A SINGLE CHARACTER FROM THE TERMINAL USING THE FUNCTION GETCHAR( ). GETCHAR( ) REPEATEDLY READ SUCCESSIVE SINGLE CHARACTERS FROM THE INPUT AND PLACE THEM INTO A CHARACTER ARRAY. THE GETCHAR FUNCTION CALL TAKES THE FORM.
EXAMPLE :
CHAR CH;
CH = GETCHAR( );
ANOTHER AND MORE CONVENIENT METHOD OF READING A STRING OF TEXT CONTAINING WHITE SPACES IS TO USE THE LIBRARY FUNCTION GETS AVAILABLE IN THE < STDIO.H > HEADER FILE. THIS IS A SIMPLE FUNCTION WITH ONE STRING PARAMETER AND CALLED AS FOLLOW.
GETS( STR );
EXAMPLE :
CHAR LINE [ 80 ];
GETS ( LINE );
PRINTF(" %S ",LINE);
WRITING STRINGS TO SCREEN ( USING PRINTF )
THE PRINTF FUNCTION WITH %S FORMAT TO PRINT STRINGS TO THE SCREEN. THE FORMAT %S CAN BE USED TO DISPLAY AN ARRAY OF CHARACTERS THAT IS TERMINATED BY THE NULL CHARACTER.
EXAMPLE :
PRINTF ( " %S ",NAME);
USING PUTCHAR( ) AND PUTS( ) FUNCTIONS
C SUPPORTS ANOTHER CHARACTER HANDLING FUNCTION PUTCHAR( ) TO OUTPUT THE VALUES OF CHARACTER VARIABLES. IT TAKES THE FOLLOWING FORM.
CHAR CH = ' A ';
PUTCHAR( CH );
EXAMPLE :
CHAR NAME [ 6 ] = " PARIS ";
FOR( I = 0; I < 5; I++)
PUTCHAR( NAME [ I ] );
PUTCHAR( ' \N ' );
ANOTHER AND MORE CONVENIENT WAY OF PRINTING STRING VALUES IS TO USE THE FUNCTION PUTS DECLARED IN THE HEADER FILE < STDIO.H >. THIS IS ONE PARAMETER FUNCTION AND INVOKED AS UNDER.
PUTS( STR );
EXAMPLE :
CHAR LINE [ 80 ];
GETS( LINE );
PUTS( LINE );
PUTTING STRINGS TOGETHER
JUST AS WE CANNOT ASSIGN ONE STRING TO ANOTHER DIRECTLY, WE CANNOT JOIN TWO STRINGS TOGETHER BY THE SIMPLE ARITHMETIC ADDITION. THAT IS, THE STATEMENT SUCH AS
STRING 3 = STRING 1 + STRING 2;
STRING 2 = STRING 1 + " HELLO ";
ARE NOT VALID. THE CHARACTERS FROM STRING 1 AND STRING 2 SHOULD BE COPIED INTO THE STRING 3 ONE AFTER THE OTHER. THE SIZE OF THE ARRAY STRING 3 SHOULD BE LARGE ENOUGH TO HOLD THE TOTAL CHARACTERS.
THE PROCESS OF COMBINING TWO STRINGS TOGETHER IS CALLED CONCATENATION.
STRING HANDLING FUNCTIONS
THE C LIBRARY SUPPORTS A LARGE NUMBER OF STRING HANDLING FUNCTIONS THAT CAN BE USED TO CARRY OUT MANY OF THE STRING MANIPULATION.
STRCAT( ) FUNCTION
THE STRCAT( ) FUNCTION JOINS TWO STRING TOGETHER. IT TAKE THE FOLLOWING FORM.
STRCAT( STRING 1, STRING 2 );
STRCMP( ) FUNCTION
THE STRCMP( ) FUNCTION COMPARES TWO STRINGS IDENTIFIED BY THE ARGUMENTS AND HAS A VALUE 0 IF THEY ARE EQUAL. IF THEY ARE NOT, IT HAS THE NUMERIC DIFFERENCE BETWEEN THE FIRST NON MATCHING CHARACTERS IN THE STRINGS. IT TAKES THE FORM.
STRCMP( STRING 1, STRING 2 );
STRCPY( ) FUNCTION
THE STRCPY( ) FUNCTION WORKS ALMOST LIKE A STRING ASSIGNMENT OPERATOR. IT TAKE THE FORM.
STRCPY( STRING 1, STRING 2 );
STRLEN( ) FUNCTION
THE STRLEN( ) FUNCTION COUNTS AND RETURNS THE NUMBER OF CHARACTERS IN A STRING. IT TAKE THE FORM.
N = STRLEN( STRING );
OTHER STRING FUNCTIONS
STRNCPY( ) FUNCTION
WE HAVE ANOTHER FUNCTION STRNCPY( ) THAT COPIES ONLY THE LEFT MOST N CHARACTERS OF THE SOURCE STRING TO THE TARGET STRING VARIABLE.
STRNCPY( S1, S2, N );
STRNCMP( ) FUNCTION
A VARIATION OF THE STRCMP( ) FUNCTION IS THE STRNCMP( ) FUNCTION.
STRNCMP( S1, S2, N );
STRNCAT( ) FUNCTION
THIS IS ANOTHER CONCATENATION FUNCTION THAT TAKES THREE PARAMETERS.
STRNCAT( S1, S2, N );
STRSTR( ) FUNCTION
IT IS A TWO PARAMETER FUNCTION THAT CAN BE USED TO LOCATE A SUB STRING IN A STRING.
STRSTR( S1, S2 );
Comments
Post a Comment