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 किया जा सकता है।

याद रखें: String → Characters का sequence जो text को 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;
}
Output:
Rahul

Strings in C++

C++ में string को represent करने के दो सामान्य तरीके हैं:

  1. Character Array
  2. string Class
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;
}
Output:
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;
}
Output:
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;
}
Sample Output:
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;
}
Sample Output:
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;
}
Output:
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;
}
Output:
Yello

String Length

length() function का उपयोग string में मौजूद characters की संख्या ज्ञात करने के लिए किया जा सकता है।

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string word = "Computer";

    cout << word.length();

    return 0;
}
Output:
8

size() function भी string में मौजूद characters की संख्या प्राप्त करने के लिए उपयोग किया जा सकता है।

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string word = "Hello";

    cout << word.size();

    return 0;
}
Output:
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;
}
Output:
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;
}
Output:
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;
}
Output:
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;
}
Output:
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;
}
Output:
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;
}
Output:
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;
}
Output:
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;
}
Output:
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;
}
Output:
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;
}
Sample Output:
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 या string class से 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

Exam के लिए याद रखें:
String → Characters का sequence
C-Style String → Character Array
String Class → string
First 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;
}
Output:
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;
}
Output:
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;
}
Output:
Hello World

Q15. निम्न program का output बताइए:

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string word = "Programming";

    cout << word.substr(0, 7);

    return 0;
}
Output:
Program

Quick Revision

  • String: Characters का sequence
  • C-Style String: Character Array
  • C++ String: string class
  • Indexing: 0 से शुरू
  • Input: cin और getline()
  • Length: length() / size()
  • Concatenation: + / append()
  • Search: find()
  • Substring: substr()
  • Null Character: '\0'
One-Line Revision: C++ में String characters का sequence है जिसे character array या string class के माध्यम से store और process किया जा सकता है।

Practice Questions

  1. String क्या है?
  2. C++ में strings को represent करने के विभिन्न तरीकों को समझाइए।
  3. Character array और string class में अंतर बताइए।
  4. Null character '\0' क्या है?
  5. cin और getline() में अंतर बताइए।
  6. String indexing क्या है?
  7. length() और size() functions का उपयोग लिखिए।
  8. String concatenation क्या है? उदाहरण दीजिए।
  9. find() function का क्या उपयोग है?
  10. substr() function का उपयोग उदाहरण सहित समझाइए।
  11. एक C++ program लिखिए जो user से एक string input लेकर उसकी length display करे।
  12. एक C++ program लिखिए जो string के सभी characters को अलग-अलग display करे।
  13. एक C++ program लिखिए जो किसी string में vowels की संख्या count करे।
  14. एक C++ program लिखिए जो दो strings को concatenate करे।
  15. निम्न program का output बताइए:
    string s = "Computer";
    cout << s[2] << s[5];
Lesson 27 of 39
On This Page