Turn Desktop View Off
by Dinesh Thakur

A string is defined to be an array of characters. If it is desired to have an array of strings such as a list of names, it becomes similar to an array whose elements are also arrays. Therefore, an array of strings is a two-dimensional array; it may be declared as below.

 
by Dinesh Thakur

In C language, a string is defined as a variable length array of characters terminated by the null character ('\O'). Letters such as A, b, C, etc., digits such as 1, 2, 3, etc., and special symbols such as +,- ,*, [] , () , etc., except a few control characters, may be included in a string. The various functions of C Standard Library for manipulation of strings are contained in header file <string.h>.

 
by Dinesh Thakur

The function dstr_read given below reads a string from the keyboard into array buf, stores it in dynamically allocated memory and returns a pointer to it.



 
by Dinesh Thakur

We may want to know the number of words in a given string and the average word length. The English text contains words (i. e., sequences of letters) separated by spaces, newlines and punctuation marks such as period, comma, semicolon, colon, quotation marks, exclamation, question mark, etc. It is quite a difficult job to separate the words from these punctuation marks. However, this task is greatly simplified when we use the powerful strtok function provided in the standard C library. The program given below determines the number of words in a given string and the average word length.

 
by Dinesh Thakur

Let us write function str words to accept a string and separate the words in it. The number of words in a given string as well as the number of characters in each word are not known before hand. To keep the code simple, let us assume that the given string contains at the most MAX WORD words and each word in turn contains at the most MAX_ CHAR characters. Thus, the function str words can return the words in the given string in a two-dimensional array of size MAX_ WORD x MAX_CHAR of type char, as shown in fig.

 
by Dinesh Thakur

The function accepts two strings, str1 and str2, as parameters of type char * and exchanges their contents. Note that the strcpy function is used to copy the strings and a local character array is used to store string strl temporarily. This function can be called from the main function to exchange strings as shown below.

 
by Dinesh Thakur

A typical call to the strcmp function take the following form:

strcmp( s1, s2)

 
by Dinesh Thakur

The standard C library provides several functions for converting strings to numbers of all formats (integers, longs, floats, and so on) and vice versa.

 
by Dinesh Thakur

The standard C library provides several functions for converting numbers of all formats (integers, longs, floats, and so on) to strings and vice versa The following functions can be used to convert integers to strings :

 
by Dinesh Thakur

String Processing (Storing Strings and String Operations) : In C, a string is stored as a null-terminated char array. This means that after the last truly usable char there is a null, hex 00, which is represented in C by '\0'. The subscripts used for the array start with zero (0). The following line declares a char array called str.

 
by Dinesh Thakur

Single characters can be replaced in a string. Given the following declarations, several things are possible.

 
by Dinesh Thakur

sprintf: This Writes formatted data to a character string in memory instead of stdout