Strings in C++
Declaring and initializing text data in C++.
Strings in C++
String characters (अक्षरों) का एक sequence (क्रम) होता है जिसका उपयोग text (पाठ) को store करने के लिए किया जाता है। C++ में strings को मुख्य रूप से Character Array और string class की सहायता से represent किया जा सकता है।
What is a String?
String एक या अधिक characters का collection होता है। उदाहरण के लिए "Hello", "Computer Science" और "Bihar" strings हैं।
#include <iostream>
using namespace std;
int main()
{
string name = "Rahul";
cout << name;
return 0;
}
Rahul
Strings in C++
C++ में string को represent करने के दो सामान्य तरीके हैं:
- Character Array
stringClass
| Method | Example |
|---|---|
| Character Array | char name[] = "Rahul"; |
| string Class | string name = "Rahul"; |
1. Character Array
C++ में string को characters के array के रूप में भी store किया जा सकता है। Character array के अंत में एक special null character '\0' होता है, जो string के end को indicate करता है।
#include <iostream>
using namespace std;
int main()
{
char name[] = "Ravi";
cout << name;
return 0;
}
Ravi
यहाँ name एक character array है। इसमें characters R, a, v, i के बाद null character '\0' होता है।
Null Character
Null character को '\0' से represent किया जाता है। यह character array के अंत को indicate करता है और C-style string के लिए महत्वपूर्ण होता है।
char word[] = {'H', 'e', 'l', 'l', 'o', '\0'};
ऊपर दिए गए character array को string की तरह display किया जा सकता है क्योंकि इसके अंत में '\0' मौजूद है।
2. string Class
C++ Standard Library में string class उपलब्ध है, जिसका उपयोग strings को आसानी से store और manipulate करने के लिए किया जाता है। इसका उपयोग करने के लिए सामान्यतः <string> header file का उपयोग किया जाता है।
#include <iostream>
#include <string>
using namespace std;
int main()
{
string name = "Amit";
cout << name;
return 0;
}
Amit
Declaration of a String
string class का उपयोग करके string declare करने का सामान्य syntax इस प्रकार है:
string string_name;
उदाहरण:
string name;
String को declaration के साथ initialize भी किया जा सकता है:
string name = "Rahul";
Taking String Input
Single word string को cin की सहायता से input किया जा सकता है।
#include <iostream>
#include <string>
using namespace std;
int main()
{
string name;
cout << "Enter your name: ";
cin >> name;
cout << "Hello " << name;
return 0;
}
Enter your name: Amit
Hello Amit
cin >> name सामान्यतः whitespace (space, tab आदि) तक input पढ़ता है। इसलिए यदि हमें पूरा sentence या multiple words वाली string input करनी हो, तो getline() का उपयोग किया जाता है।
Using getline()
getline() function का उपयोग spaces सहित पूरी line को input करने के लिए किया जाता है।
#include <iostream>
#include <string>
using namespace std;
int main()
{
string name;
cout << "Enter your full name: ";
getline(cin, name);
cout << "Hello " << name;
return 0;
}
Enter your full name: Amit Kumar
Hello Amit Kumar
cin >> सामान्यतः एक word पढ़ता है, जबकि getline() spaces सहित पूरी line पढ़ सकता है।
Accessing String Characters
String के individual characters को index की सहायता से access किया जा सकता है। C++ में string indexing भी 0 से शुरू होती है।
#include <iostream>
#include <string>
using namespace std;
int main()
{
string word = "Hello";
cout << word[0] << endl;
cout << word[1] << endl;
cout << word[4];
return 0;
}
H
e
o
Changing String Characters
String के किसी character की value को उसके index की सहायता से बदला जा सकता है।
#include <iostream>
#include <string>
using namespace std;
int main()
{
string word = "Hello";
word[0] = 'Y';
cout << word;
return 0;
}
Yello
String Length
length() function का उपयोग string में मौजूद characters की संख्या ज्ञात करने के लिए किया जा सकता है।
#include <iostream>
#include <string>
using namespace std;
int main()
{
string word = "Computer";
cout << word.length();
return 0;
}
8
size() function भी string में मौजूद characters की संख्या प्राप्त करने के लिए उपयोग किया जा सकता है।
#include <iostream>
#include <string>
using namespace std;
int main()
{
string word = "Hello";
cout << word.size();
return 0;
}
5
Concatenation of Strings
दो या अधिक strings को जोड़ने की प्रक्रिया को String Concatenation कहा जाता है। C++ में + operator की सहायता से strings को concatenate किया जा सकता है।
#include <iostream>
#include <string>
using namespace std;
int main()
{
string firstName = "Amit";
string lastName = "Kumar";
string fullName = firstName + " " + lastName;
cout << fullName;
return 0;
}
Amit Kumar
Appending a String
append() function का उपयोग existing string के अंत में दूसरी string जोड़ने के लिए किया जा सकता है।
#include <iostream>
#include <string>
using namespace std;
int main()
{
string first = "Hello";
first.append(" World");
cout << first;
return 0;
}
Hello World
Comparing Strings
दो strings की तुलना करने के लिए comparison operators जैसे ==, !=, < और > का उपयोग किया जा सकता है।
#include <iostream>
#include <string>
using namespace std;
int main()
{
string a = "Hello";
string b = "Hello";
if (a == b)
{
cout << "Strings are equal";
}
else
{
cout << "Strings are not equal";
}
return 0;
}
Strings are equal
Finding a Character in a String
find() function का उपयोग string में किसी character या substring की position खोजने के लिए किया जा सकता है।
#include <iostream>
#include <string>
using namespace std;
int main()
{
string word = "Computer";
cout << word.find('p');
return 0;
}
3
यहाँ character 'p' की position 3 है क्योंकि indexing 0 से शुरू होती है।
Substring
किसी string के एक छोटे हिस्से को substring कहा जाता है। substr() function का उपयोग string से substring प्राप्त करने के लिए किया जा सकता है।
#include <iostream>
#include <string>
using namespace std;
int main()
{
string word = "Computer";
cout << word.substr(0, 4);
return 0;
}
Comp
यहाँ substr(0, 4) index 0 से शुरू करके 4 characters प्राप्त करता है।
Inserting into a String
insert() function का उपयोग string के किसी particular position पर characters या दूसरी string insert करने के लिए किया जा सकता है।
#include <iostream>
#include <string>
using namespace std;
int main()
{
string word = "Hello World";
word.insert(6, "C++ ");
cout << word;
return 0;
}
Hello C++ World
Removing Characters from a String
erase() function का उपयोग string से characters हटाने के लिए किया जा सकता है।
#include <iostream>
#include <string>
using namespace std;
int main()
{
string word = "Hello World";
word.erase(5, 6);
cout << word;
return 0;
}
Hello
String Traversal
String के प्रत्येक character को access करने के लिए loop का उपयोग किया जा सकता है। इसे string traversal कहा जा सकता है।
#include <iostream>
#include <string>
using namespace std;
int main()
{
string word = "HELLO";
for (int i = 0; i < word.length(); i++)
{
cout << word[i] << " ";
}
return 0;
}
H E L L O
Counting Vowels in a String
Loop और conditional statement की सहायता से string में vowels की संख्या count की जा सकती है।
#include <iostream>
#include <string>
using namespace std;
int main()
{
string word = "education";
int count = 0;
for (int i = 0; i < word.length(); i++)
{
if (word[i] == 'a' || word[i] == 'e' ||
word[i] == 'i' || word[i] == 'o' ||
word[i] == 'u')
{
count++;
}
}
cout << "Vowels = " << count;
return 0;
}
Vowels = 5
String Input with Spaces
जब input में multiple words हों, तब getline() विशेष रूप से उपयोगी है।
#include <iostream>
#include <string>
using namespace std;
int main()
{
string sentence;
cout << "Enter a sentence: ";
getline(cin, sentence);
cout << "You entered: " << sentence;
return 0;
}
Enter a sentence: C++ is a programming language
You entered: C++ is a programming language
C-Style String and C++ string
C++ में C-style strings को character arrays के रूप में represent किया जाता है, जबकि modern C++ में string class का उपयोग अधिक सुविधाजनक होता है।
| C-Style String | C++ string |
|---|---|
| Character array का उपयोग करती है। | string class का उपयोग करती है। |
उदाहरण: char name[] = "Amit"; |
उदाहरण: string name = "Amit"; |
Null character '\0' महत्वपूर्ण है। |
String object स्वयं length आदि को manage करता है। |
| String operations के लिए अधिक manual handling की आवश्यकता हो सकती है। | कई useful member functions उपलब्ध हैं। |
Common String Functions
| Function | Use |
|---|---|
length() |
String की length प्राप्त करना |
size() |
String में characters की संख्या प्राप्त करना |
append() |
String के अंत में दूसरी string जोड़ना |
find() |
Character या substring की position खोजना |
substr() |
String का एक हिस्सा प्राप्त करना |
insert() |
String में characters insert करना |
erase() |
String से characters हटाना |
Important Points
- String characters का sequence होता है।
- C++ में strings को character array या
stringclass से represent किया जा सकता है। - C++ में string indexing 0 से शुरू होती है।
- C-style string के अंत में null character
'\0'होता है। cin >>सामान्यतः whitespace तक input पढ़ता है।getline()spaces सहित पूरी line input कर सकता है।length()औरsize()string की length प्राप्त करने के लिए उपयोग किए जा सकते हैं।+operator का उपयोग strings को concatenate करने के लिए किया जा सकता है।find()string में character या substring खोजने के लिए उपयोगी है।substr()string का एक हिस्सा प्राप्त करने के लिए उपयोग किया जाता है।
Board Focus
String → Characters का sequence
C-Style String → Character Array
String Class →
stringFirst Index → 0
Length →
length() / size()Input →
cin >> / getline()Concatenation →
+ / append()Search →
find()Substring →
substr()
Board Important Questions
Very Short Answer Questions
Q1. String क्या है?
Answer: String characters का एक sequence है जिसका उपयोग text को represent और store करने के लिए किया जाता है।
Q2. C++ में string को represent करने के दो तरीके कौन-कौन से हैं?
Answer: Character Array और string class की सहायता से C++ में strings को represent किया जा सकता है।
Q3. C++ में string indexing किस number से शुरू होती है?
Answer: String indexing 0 से शुरू होती है।
Q4. Null character क्या है?
Answer: '\0' को null character कहते हैं और यह C-style string के अंत को indicate करता है।
Q5. getline() का क्या उपयोग है?
Answer: getline() का उपयोग spaces सहित पूरी line को input करने के लिए किया जाता है।
Q6. String की length प्राप्त करने के लिए कौन-से functions उपयोग किए जा सकते हैं?
Answer: length() और size() functions का उपयोग किया जा सकता है।
Q7. String concatenation क्या है?
Answer: दो या अधिक strings को जोड़ने की प्रक्रिया को String Concatenation कहते हैं।
Short Answer Questions
Q8. C-style string और C++ string में अंतर बताइए।
| C-Style String | C++ string |
|---|---|
| Character array पर आधारित होती है। | string class पर आधारित होती है। |
Null character '\0' से terminate होती है। |
String object length को manage करता है। |
| Operations के लिए अधिक manual handling हो सकती है। | कई built-in functions उपलब्ध हैं। |
Q9. cin और getline() में अंतर बताइए।
Answer: cin >> whitespace मिलने तक input पढ़ता है, इसलिए यह सामान्यतः एक word के लिए उपयोगी है। getline() spaces सहित पूरी line को input कर सकता है।
Q10. String concatenation को उदाहरण सहित समझाइए।
#include <iostream>
#include <string>
using namespace std;
int main()
{
string a = "Good";
string b = "Morning";
cout << a + " " + b;
return 0;
}
Good Morning
Q11. String में किसी character को कैसे access किया जाता है?
Answer: String के characters को index की सहायता से access किया जाता है। उदाहरण के लिए word[0] string के पहले character को represent करता है।
Long Answer Questions
Q12. C++ में Strings को उदाहरण सहित समझाइए।
Answer: String characters का sequence होता है जिसका उपयोग text को store करने के लिए किया जाता है। C++ में strings को character arrays और string class दोनों के द्वारा represent किया जा सकता है। Character array में string के अंत को indicate करने के लिए null character '\0' का उपयोग होता है। Modern C++ में string class अधिक सुविधाजनक है क्योंकि इसमें length, searching, concatenation और substring जैसे operations के लिए कई functions उपलब्ध हैं।
Q13. निम्न program का output बताइए:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string word = "Computer";
cout << word[0] << " ";
cout << word[3] << " ";
cout << word.length();
return 0;
}
C p 8
Q14. निम्न program का output बताइए:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string a = "Hello";
string b = "World";
string c = a + " " + b;
cout << c;
return 0;
}
Hello World
Q15. निम्न program का output बताइए:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string word = "Programming";
cout << word.substr(0, 7);
return 0;
}
Program
Quick Revision
- String: Characters का sequence
- C-Style String: Character Array
- C++ String:
stringclass - Indexing: 0 से शुरू
- Input:
cinऔरgetline() - Length:
length()/size() - Concatenation:
+/append() - Search:
find() - Substring:
substr() - Null Character:
'\0'
string class के माध्यम से store और process किया जा सकता है।
Practice Questions
- String क्या है?
- C++ में strings को represent करने के विभिन्न तरीकों को समझाइए।
- Character array और string class में अंतर बताइए।
- Null character
'\0'क्या है? cinऔरgetline()में अंतर बताइए।- String indexing क्या है?
length()औरsize()functions का उपयोग लिखिए।- String concatenation क्या है? उदाहरण दीजिए।
find()function का क्या उपयोग है?substr()function का उपयोग उदाहरण सहित समझाइए।- एक C++ program लिखिए जो user से एक string input लेकर उसकी length display करे।
- एक C++ program लिखिए जो string के सभी characters को अलग-अलग display करे।
- एक C++ program लिखिए जो किसी string में vowels की संख्या count करे।
- एक C++ program लिखिए जो दो strings को concatenate करे।
- निम्न program का output बताइए:
string s = "Computer"; cout << s[2] << s[5];