What are Strings
As we know a group of integers can be stored in an integer array,the same way a group of characters can also be stored in a character array. Character arrays are also called strings. Many languages internally treat strings as character arrays,
A string constant is a one-dimensional array of characters terminated by a null(‘\0’).
For example,
char name[ ] = { ‘S’, ‘E’, ‘V’, ‘A’, ‘R’, ‘A’, ‘L’, ‘\0’ } ;
String example
void main( ) { char name[ ] = "sevaral" ; int i = 0 ; while ( name[i] != `\0' ) { printf ( "%c", name[i] ) ; i++ ; } }
We can scan the string using %s see the example below.
void main( ) { char name[20]; printf("Enter string : "); scanf("%s",name); while ( name[i] != `\0' ) { printf ( "%c", name[i] ) ; i++ ; } }
we use scanf to read input but for strings scanf( ) is not capable of receiving multi-word strings. hence names such as ‘Amol prakash Ujagare’ would scan ‘Amol’ only. we should use the function gets( ). The usage of functions gets( ) and puts( ) is shown below.
void main( ) { char name[25] ; printf("Enter your full name "); gets(name); puts("Welcome"); puts(name); }
String functions
strlen – Finds length of a string
strlwr – Converts a string to lowercase
strupr – Converts a string to uppercase
strcat – Appends one string at the end of another
strncat – Appends first n characters of a string at the end of another
strcpy – Copies a string into another
strncpy – Copies first n characters of one string into another
strcmp – Compares two strings
strncmp – Compares first n characters of two strings
strcmpi – Compares two strings without regard to case (“i” denotes that this function ignores case)
stricmp – Compares two strings without regard to case (identical to strcmpi)
strnicmp – Compares first n characters of two strings without regard to case
strdup – Duplicates a string
strchr – Finds first occurrence of a given character in a string
strrchr – Finds last occurrence of a given character in a string
strstr – Finds first occurrence of a given string in another string
strset – Sets all characters of string to a given character
strnset – Sets first n characters of a string to a given character
strrev – Reverses string
Examples on String functions
1. strlen :-
void main( ) { char arr[ ] = "amol" ; int len1, len2 ; len1 = strlen (arr) ; len2 = strlen ("amol ujagare") ; printf("\nstring = %s length = %d",arr, len1) ; printf("\nstring = %s length = %d","Amol Ujagare",len2) ; }
out put :
string = amol length = 4
string = amol ujagare length = 12
2.strcpy
void main( ) { char source[] = "technology"; char target[20]; strcpy(target,source) ; printf("\nsource string = %s",source); printf("\ntarget string = %s",target); }
out put :
source string = technology
target string = technology
3. strcat:-
void main( ) { char source[ ] = ""; char target[30] = "Hello"; strcat(target,source) ; printf("\nsource string = %s",source); printf("\ntarget string = %s",target); }
out put :
source string = World
target string = HelloWorld
4.strcmp
void main( ) { char str1[10],str2[10]; printf("\nEnter first string :"); scanf("%s",&str1); printf("\nEnter Second string :"); scanf("%s",&str2); if(strcmp(string1,string2)) printf("\nStrings are not equal"); else printf("\nStrings are not equal"); }
out put :
Enter first string : abc
Enter Second string :pqr
Strings are not equal