C++ C-Style Strings

🧵 C++ C-Style Strings

C-Style Strings wo strings hoti hain jo character array (char[]) ke form mein hoti hain aur null character '\0' se end hoti hain.
Ye C language se aayi hui strings hain, isliye inhe C-style strings kehte hain.


1. What is a C-Style String?

char name[] = "Sanjit";

Memory mein ye aise store hota hai:

S a n j i t \0

'\0' batata hai ki string yahin end ho gayi.


 2. Declare & Initialize

Method 1: String literal

char city[] = "Delhi";

Method 2: Character array

char city[] = {'D','e','l','h','i','\0'};

 3. Print C-Style String

#include <iostream>
using namespace std;
int main() {
char name[] = “Ram”;
cout << name;
return 0;
}


 4. User Input (C-Style String)

char name[20];
cin >> name;

⚠️ Space ke baad input stop ho jaata hai.


 5. Input with Spaces (cin.getline)

char fullName[50];
cin.getline(fullName, 50);

✔ Space ke saath poori line read karta hai.


 6. Common C-String Functions

(Need header: #include <cstring>)

Function Work
strlen() Length nikalta hai
strcpy() Copy string
strcat() Join strings
strcmp() Compare strings

Example: strlen()

#include <cstring>

char s[] = “Hello”;
cout << strlen(s); // 5


Example: strcpy()

char a[20];
char b[] = "C++";
strcpy(a, b);
cout << a;


Example: strcat()

char a[20] = "Hello ";
char b[] = "World";
strcat(a, b);
cout << a;


Example: strcmp()

char a[] = "abc";
char b[] = "abc";
cout << strcmp(a, b); // 0 (equal)


 7. Modify C-Style String

char name[] = "Ram";
name[0] = 'S';
cout << name; // Sam

❌ Common Mistakes

char s[5] = "Hello"; // ❌ no space for '\0'

✔ Correct:

char s[6] = "Hello";

 8. C-Style String vs std::string

C-Style String std::string
char[] based Class based
Manual size handling Automatic resizing
Error-prone Safe & easy
Faster (low-level) Preferred in modern C++

📌 Summary

  • C-style strings = char arrays + '\0'

  • cstring functions se operations hote hain

  • Size carefully manage karna padta hai

  • Modern C++ mein std::string preferred

You may also like...