String in C++
String in C++
String is a collection of character or group of character, it is achieve in C language by using array character. The string in C language is one-dimensional array of character which is terminated by a null character '\0'. In other words string is a collection of character which is enclose between double cotes ( " " ).
Note: Strings are always enclosed within double quotes. Whereas, character is enclosed within single quotes in C.
Declaration of string
Strings are declared in C in similar manner as arrays. Only difference is that, strings are of char type.
Important points for Declaration of string
- In declaration of string size must be required to mention otherwise it gives an error.
Syntax
char str[]; // Invalid char str[10]; // Valid
- In declaration of the string size must be unsigned integer value (not -ve or zero value) which is greater than zero only.
Example
char str[]; // Invalid char str[0]; // Invalid char str[-1]; // Invalid char str[10]; // Valid
Syntax
char variable_name[SIZE];
char str[5];
Initializing Array string
According to array initialization concept
Example
char str[]="abcd";
OR
char str[5]="abcd";
OR
char str[5]={'a','b','c','d','\0'};
OR
char str[]={'a','b','c','d','\0'};
OR
char str[5]={'a','b','c','d','\0'};
Important points for Initialization of the string
- In Initialization of the string if the specific number of character are not initialized it then rest of all character will be initialized with NULL.
Syntax
char str[5]={'5','+','A'};
str[0]; ---> 5
str[1]; ---> +
str[2]; ---> A
str[3]; ---> NULL
str[4]; ---> NULL
- In initialization of the string we can not initialized more than size of string elements.
Syntax
char str[2]={'5','+','A','B'}; // Invalid
- In initialization of the string the size is optional in this case how many variable elements are initialized it, that array element will created.
Syntax
char str[]={'5','+','A','B'}; // Valid
sizeof(str) --> 4byte
When we are working with character array explicitly NULL character does not occupies any physical memory at the end of the character array.
Syntax
char str[]={'h','e','l','l','o'};
sizeof(str) --> 5byte
String data at the end of the string NULL character occupies physical memory.
Syntax
char str[]="hello"; sizeof(str) --> 6byte
Reading String from user
Syntax
char str[5]; cin>>str;
Note: String variable str can only take only one word. It is because when white space is encountered, the scanf() function terminates.
Syntax
char str[5]; gets(str);
gets()
gets() are used to get input as a string from keyword, using gets() we can input more than one word at a time.
Example of String program in c language
Example
#include<iostream.h>
#include<conio.h>
void main()
{
char str[10];
cout<<"Enter any string: ";
gets(str);
cout<<"String are: ";
puts(str);
getch();
}
Explanation: Here gets() function are used for input string and puts() function are used to show string on console or monitor.
Output
Enter String: hello word String are: hello word
C Library String functions
All the library function of String is available in String.h header file.
| S.N. | Function | Purpose |
|---|---|---|
| 1 | strcpy(s1, s2) | Copies string s2 into string s1. |
| 2 | strcat(s1, s2) | Concatenates string s2 onto the end of string s1. |
| 3 | strlen(s1) | Returns the length of string s1. |
| 4 | strcmp(s1, s2) | Returns 0 if s1 and s2 are the same; less than 0 if s1<s2; greater than 0 if s1>s2. |
| 5 | strchr(s1, ch) | Returns a pointer to the first occurrence of character ch in string s1. |
| 6 | strstr(s1, s2) | Returns a pointer to the first occurrence of string s2 in string s1. |
