C programming मे strings, Characters का एक क्रम है जो एक null character ('\0') के द्वारा समाप्त होता है।
null character ('\0') एक signal के समान कार्य करता है जो Computer को बताता है कि string यहां पर समाप्त हो चुका है।
C मे जब हम String का निर्माण करते है तब हम मूल रूप से एक Row में Characters जैसे letters, numbers, या symbols का एक Collection बनाते है।
अंत मे special character '\0' को लगाकर यह प्रदर्शित करते है कि string यहां पर Stop हो गया है
उदाहरण के लिए हमारे पास एक String array, 'myString' नाम से है जिसे
"Good" string देकर Initialize किया गया है
यह वास्तव में Memory में 'G', 'o', 'o', 'd', '\0' प्रकार से Store होगा और '\0' अंत मे Use होगा जहां पर String समाप्त हो चुका है
Declaration of string in C in Hindi - C में string को Declare करना
हम String को निम्न प्रकार से Declare कर सकते हैं।
Syntax:
char stringName[size];
ऊपर Syntax में
char:
char बताता है कि यह array characters को रखेगा
stringName:
यह string variable को हमारे द्वारा दिया गया नाम है
size:
string द्वारा रखा जानें वाला characters की अधिकतम संख्या है जिसमे null character ('\0') भी शामिल है।
Example:
char myString[10];
Initialization of string in C in Hindi - C में string को Intialize करना
C में string को कई तरीके से Initialize किया जा सकता है जो निम्न है।
char array का Use करके बिना Size के Initialize करना
char str[] = {'C', 'o', 'm', 'p', 'u', 't', 'e', 'r', 'e', 'h', 'u', 'b' '\0'};
ऊपर दिए गए Method से Complier स्वयं ही characters की size और null terminator( '\0' ) के length के आधार पर array की size निर्धारित कर लेता है।
char array का Use करके Size देकर Initialize करना
char str[50] = {'C', 'o', 'm', 'p', 'u', 't', 'e', 'r', 'e', 'h', 'u', 'b' '\0'};
ऊपर character array `str` की Size 50 दी गई है जो char array के साथ null terminator '\0' को रखने के लिए काफी है
Size 50 बताता है कि str, 49 characters और null terminator ('\0') को रख सकता है
यदि characters की size, str की size(50) से छोटी है जैसे की ऊपर में दिखाई दे रहा है तब बचा हुआ elements स्वत: ही null character से भर जाएगा
String literal का Use करके बिना Size देकर Initialize करना
char str[] = "Computerehub";
ऊपर str, array बिना Size के string literal के रूप में Initialize किया गया है इस स्थिति में Compiler स्वत: ही string literal की length के आधार पर array की size निर्धारित कर लेगा।
String literal का Use करके Size देकर Initialize करना
char str[30] = "Computerehub";
ऊपर हमने str, array fixed size 30
के साथ Initialize किया है अतः str, 29 Characters रखेगा साथ ही एक अतिरिक्त byte, null terminator( '\0' ) के लिए होगा
String को Access करना
String वास्तव में array है आप string को उसके index के द्वारा Access कर सकते हैं
char str[] = "Computetehub";
printf("%c", str[0]);
ऊपर हमने एक character array `str` बिना size के Initialize किया है
अब `printf` function का Use करके array 'str' array का पहला character
जो 0th index में उपस्थित है को Print करते हैं।
`%c` format specifier यह बताने के लिए है कि एक single character ही Print होना चाहिए और हमे "Computerehub" का पहला character 'C' ही Output के रूप में मिलेगा
Simple program for string
#include<stdio.h>
#include<string.h>
int main()
{
char str [] = "COMPUTEREHUB";
printf("String is: %s\n", str);
int length ;
length = strlen(str);
printf("Length of string is :%d", length);
return 0;
}
Output:
String is: COMPUTEREHUB
Length of string is :12
Explanation:
1) ऊपर Program में एक character array `str` Declare किया गया है जिसमें string "COMPUTEREHUB" शामिल है
2) अब printf की मदद से
string "COMPUTEREHUB" को Print किया गया है
3) string की length निकालने के लिए `strlen` function का Use किया गया है तथा उसे variable `length` में Store कर string की length को Print किया गया है।
String Input और Output के तरीके (`scanf`, `gets`, ' fgets ', `printf`, `puts`)
C language, में string input और output का मतलब users से एक string (characters का समूह) लेना और उसे स्क्रीन पर दिखाना।
C में एक string को character array की भांति स्टोर किया जाता है और यह एक विशेष null character `\0` से समाप्त होता है।
Users से string input लेने के लिए हम ज्यादातर `scanf()` और `get ()` functions, का उपयोग करते हैं और string output लेने के लिए `printf ()` और `puts ()` functions, का उपयोग करते हैं।
Strings एक प्रोग्राम में नामो, वाक्यों और अन्य टेक्स्ट डाटा को संभालने के लिए मदद करता है।
String Input Output Using scanf() and printf() Functions
हम String Input Output लेने के लिए scanf() और printf() functions का उपयोग निम्न प्रकार से करते हैं।
scanf()` Function
उसका उपयोग user से Input लेने के लिए करते है।
Syntax:
scanf("format_specifier", &variable_name);
1) उदाहरण के लिए एक integer को Read करना है
int num;
scanf("%d", &num);
```
2) एक string(बिना space के word) को Read करना है
char name[50];
scanf("%s", name);
Note:
strings के लिए variable name के पहले `&` का उपयोग न करें क्योंकि arrays पहले से ही pointers की भांति कार्य करता है।
`printf()` Function
इसका उपयोग स्क्रीन पर आउटपुट दिखाने के लिए होता है।
Syntax:
printf("format_specifier", variable_name);
1) उदाहरण के लिए एक integer को print करना है
printf("%d", num);
2) एक string को print करना है।
printf("%s", name);
महत्वपूर्ण बातें
- `scanf()` user से input लेने के लिए इंतजार करता है।
- `printf()` screen पर.messages या values print करता है।
- Format specifiers जैसे `%d`, `%s`, `%c` इन functions को बताता है कि किस प्रकार की डाटा को read या print करना है।
- `%d` = integer, `%s` = string, `%c` = single character.
Program for Using scanf() and printf() Functions
#include<stdio.h> int main() { char name[50]; int age; printf("Enter your name: "); scanf("%s", name); // Input string (one word) printf("Enter your age: "); scanf("%d", &age); // Input integer printf("Hello %s, your age is %d\n", name, age); // Output return 0; }
Enter your name: Ritu
Enter your age: 20
Hello Ritu, your age is 20
ऊपर के प्रोग्राम में `scanf()` का उपयोग name और age को user से लेने या पढ़ने के लिए किया जाता है तथा, `printf()` का उपयोग उन्हें दिखाने के लिए करते हैं।
String Input Output Using gets(), fgets(), puts () Functions
हम एक एक करके सारे फंक्शन को देखेंगे
gets()
- gets() का उपयोग एक string input लेने के लिए करते हैं।
- यह पूरे लाइन को पढ़ता है जिसमें spaces शामिल है जब तक Enter key, press न किया जाए
- gets(), Input की size की जांच नहीं करता है।
- इसलिए आधुनिक C, gets() function को उपयोग करने का सुझाव नहीं देते। इसके बदले fgets() का उपयोग करना ज्यादा सुरक्षित है।
fgets()
- User द्वारा दिए गए Input से line को पढ़ता है।
- जब आप Enter (newline `\n`) press करते है या जब characters की अधिकतम संख्या पहुंच जाती है तब यह पढ़ना छोड़ देता है ।
- यदि आप Enter press करते है तो यह newline (`\n`) को बनाए रखता है और string को समाप्त करने के लिए विशेष end mark `\0` जोड़ देता है।
- यह`gets` से सुरक्षित है क्योंकि यह केवल एक निश्चित संख्या में characters ही पढ़ता है।
puts()
- puts() का उपयोग screen पर एक string को print करने के लिए किया जाता है।
- यह string की printing के बाद हमेशा एक नया लाइन जोड़ देता है।
- यह सरल और उपयोग करने में आसान।
Program: Using gets(), fgets(), and puts()
#include<stdi.h>
int main() {
char str1[50], str2[50];
// Using gets() (not safe)
printf("Enter a string using gets: ");
gets(str1); // Not recommended (unsafe)
puts("You entered (gets):");
puts(str1);
// Using fgets() (safe)
printf("\nEnter a string using fgets: ");
fgets(str2, 50, stdin); // Safe input
puts("You entered (fgets):");
puts(str2);
return 0;
}
Explanation
1. Header included:
`#include <stdio.h>`
इसका उपयोग input और output जैसे `printf`, `gets`, `fgets`, और `puts` के साथ कार्य करने के लिए होता है।
2. Two strings:
इसमें `str1` और `str2` दो characters arrays declare किया जाता है। प्रत्येक 49 characters + \0 तक store करेगा
3. gets():
user से string, enter करने के लिए कहा जाता है।
यह input लेता है और उसे `str1` में स्टोर कर देता है।
यह सुरक्षित नहीं है क्योंकि अतिरिक्त इनपुट को नहीं रोकता
4. puts():
यह `str1` में स्टोर किए गए है string को प्रिंट करता है।
5. fgets():
यह user को अन्य string को enter करने के लिए कहता है।
यह सुरक्षित ढंग से input लेता है और उसे `str2` में स्टोर कर देता है।
जब enter press किया जाता है या साइज full हो जाता है तब यह रुक जाता है। It stops
6. puts():
यह `str2` में स्टोर किए गए है string को प्रिंट करता है।
7. return 0;
प्रोग्राम समाप्त हो जाता है।
Passing Strings to function
in C in Hindi - C में function को Strings Pass करना
इसके अंतर्गत हम function को Characters का एक array या string में एक Pointer Pass करते है
हम नीचे एक प्रोग्राम द्वारा सीखेंगे कि कैसे function को string Pass किया जाता है।
Program for passing string to function
#include<stdio.h>
void displayString(char Mystr[])
{
printf("Display String inside function: %s\n", Mystr);
}
int main()
{
char Mystr[20];
printf ("Enter the string:");
scanf("%s",Mystr);
//Call the function and pass string to it
displayString(Mystr);
return 0;
}
Output:
Enter the string:Aisect
Display String inside function: Aisect
Explaination:
ऊपर के Program में User से एक String Input करवाते है और उसे एक character array अर्थात `Mystr` मे Store करते है
अब उस string (`Mystr`) को एक function जिसका नाम `displayString` है को Pass कर देते है जिसका कार्य उस string को Print करना है।
Array of Strings in C in Hindi
C में वास्तव में strings 1-D Characters के Array होते है यदि हम strings का Array बनाना चाहते है तो हमे two-dimensional character array का निर्माण करना होगा
प्रत्येक string एक null character ('\0') से समाप्त होगा
Syntax:
char arrayName [size] for [string_length];
ऊपर के Syntax में
char:
यह बताता है कि Array का प्रत्येक element एक character होगा
arrayName:
हमारे द्वारा declare किया गया Array का नाम है
size:
Array में Strings की संख्या को बताता है
string_length:
Array में प्रत्येक string की अधिकतम लंबाई है जिसमे null terminator ('\0') भी शामिल है
Example:
char myStr[3][15];
Program for Array of strings
#include<stdio.h>
int main()
{
char str[3][20] = {"Good", "Morning", "Students"};
printf("Displaying elements of array :\n");
for (int i = 0; i < 3; i++)
{
printf("%s\n", str[i]);
}
return 0;
}
Output:
Displaying elements of array :
Good
Morning
Students
Explanation:
ऊपर के C program में एक Two Dimensional array, strings (`str`) नाम से Declare किया गया था जिसमे 3 rows है और प्रत्येक string 19 characters तक जिसमे null terminator भी शामिल है रख सकती है.
अब Array को तीन strings "Good", "Morning", और "Students" के साथ Initialize किया गया है
अब इस program में Array के प्रत्येक string को print करने के लिए एक loop का Use किया गया है।
String function in C in Hindi
C की Library बड़ी संख्या में String को handle करने के लिए String function प्रदान करती है जिसका प्रयोग String को Manipulate करने के लिए किया जाता है।
ये सारे functions <string.h> Header file में पाए जाते है
ये Functions निम्न है।
strlen:
यह एक string की length की गणना करता है यह string में characters की संख्या Count करता है
जब तक यह null terminator '\0', तक न पहुंच जाए क्योंकि यह null terminator string के end को बताता है
Program for strlen function
#include<stdio.h>
#include<string.h>
int main()
{
char str[] = "Computerehub";
int length = strlen(str);
printf("Length of the string is: %d\n", length);
return 0;
}
Output:
Length of the string is: 12
strcpy:
यह एक string की Copy अन्य string में करता है।
Program for strcopy function
#include<stdio.h>
#include<string.h>
int main()
{
char myStr[10];
char copiedStr[30];
printf("Enter the string:\n");
scanf("%s",myStr);
strcpy(copiedStr, myStr);
printf("After copy : %s\n", copiedStr);
return 0;
}
Output:
Enter the string:
Computerehub
After copy : Computerehub
strcat:
इस function का Use दो strings को concatenate या एक साथ join करने के लिए होता है यह Source string के contents को destination string के अंत में जोड़ देता है
Program for strcat function
#include<stdio.h>
#include<string.h>
int main()
{
char str1[10];
char str2[20];
int result;
printf("Enter the first string:");
scanf("%s",str1);
printf("Enter the second string:");
scanf("%s",str2);
strcat(str1,str2);
printf("After concate:%s\n",str1);
return 0;
}
Output:
Enter the first string:Good
Enter the second string:Morning
After concate :GoodMorning
strcmp:
यह दो strings की तुलना करता है
,
Program for strcmp function
#include<stdio.h>
#include<string.h>
int main()
{
char str1[10];
char str2[20];
int result;
printf("Enter the first string:");
scanf("%s",str1);
printf("Enter the second string:");
scanf("%s",str2);
result =
strcmp(str1,str2);
printf("Result after comparison is:%d\n",result);
return 0;
}
Output:
Enter the first string:Good
Enter the second string:Good
Result after comparison is:0
Related Post
0 टिप्पणियाँ