Strings : Reading और Writing क्या होता है , रीडिंग व राइटिंग ऑपरेशन इन स्ट्रिंग इन c कंप्यूटर भाषा

By  
रीडिंग व राइटिंग ऑपरेशन इन स्ट्रिंग इन c कंप्यूटर भाषा Strings : Reading और Writing क्या होता है in c language in hindi
Strings दो या दो अधिक characters का व्यस्थित समूह होता है जो एक ही variable की तरह कार्य करता है|हमने string को कई बार पहले भी इस्तेमाल कर सकता है |उदहारण के लिए :
printf(“My name is Parth.”);
इस statement मे My name is Parth. string है |इसका आउटपुट होगा :-
My name is Parth.
String मे पाच operation मुख्य होगे :-
1.Reading or Writing
2.Combining Strings
3.Copying one Strings into other string
4.Comparing strings
5. Extracting portions from string

1.String Declaration 

C language मे string कोई अलग से data type नहीं होता है |ये character की array की तरह declare होता है |इसका syntax है :-
char string array name [Size];
इसमें:
string array name : ये string का नाम होता है |
Size: Store Characters का number|
इसका उदाहरण है:-
char name[10];
इस statement से,एक string जिसका नाम name है इसकी size 11 होती है |
जब कभी string memory मे allocate होती है तो string की last memory block मे null insert हो जाता है जिसके कारण string की size हमेशा size+1 होती है |

2.String initial

String का इनितिअलिज़तिओन ,char array की तरह होता है |इसका syntax है :-
char string array name [Size]=”String values”;
इसमें string values  मे string की value लिखी जाती है |इसका उदाहरण है :-
char Last name[5]=”patel”;
इस उदहारण मे , एक string जिसका नाम ‘ Last name ‘ है उसमे ‘patel’ store होता है |
महत्वपूर्ण पॉइंट्स:
1.प्रोग्राम मे string का initial और declaration को separate नहीं कर सकते है |अगर किया तो,compile time error आयगी|
2.अगर string size ,initial values से कम होगी तब भी Error message pop up होगा |
3.कभी भी कोई string assignment operator के left side नहीं होती है |
char array[10];
array[10]=”ParthPatel”;     //ये syntax allow नहीं होता है //
char name[5]=parthpatel ;    //ये syntax allow नहीं होता है //

3.Reading Operation :

Scanf Function:

जिस तरह integer array को read करने के लिए for loop का use होता है |लेकिन string को read करने के लिए %s format specifier को use किया जाता है |
उदहारण के लिए :
#include<stdio.h>
#include<conio.h>
void main ()
{
char last name [5];
printf(“Enter your String”);
scanf(“%s”,last name);
getch();
}
आउटपुट होगा :
Enter your String Parth
scanf function मे एक limit होती है |अगर string value मे कोई blank space आ जाता है तब scanf ()
आटोमेटिक terminate हो जाता है |जैसे :
#include<stdio.h>
#include<conio.h>
void main ()
{
char name [15];
printf(“Enter your String”);
scanf(“%s”, name);
getch();
}
आउटपुट होगा :
Enter your String Parth Patel
यहाँ पर  केवल Parth ही read होगा क्योकि Parth के बाद blank space आ जाता है और scanf () function यही पर terminate हो जाता है |
इसके अलावा ,scanf () function मे ‘&’ की जरुरत नहीं होती है उपर दिए गये string ‘Parth Patel’ को read करने के लिए दो strings को introduce करना होगा |
#include<stdio.h>
#include<conio.h>
void main ()
{
char first_name [5],last_name[5];
printf(“Enter your first name”);
scanf(“%s”,first_name [5]);
printf(“Enter your first name”);
scanf(“%s”,last_name[5]);
getch();
}
आउटपुट होगा :
Enter your first name Parth
Enter your first name Patel


Edit Set Conversion Code :

%s और %ws से हम केवल उस string को read कर सकते है जिसमे white space नहीं होता है|लेकिन पूरी line को read करने के लिए C language मे Edit Set Conversion Code होता है जो पूरी line को एक साथ read करता है वैसा ही डिस्प्ले करता है |इसका syntax है :-
Scanf (“%[. .]”,string name);
 
#include<stdio.h>
#include<conio.h>
void main ()
{
char name [15];
printf(“Enter your String”);
scanf(“%[. .]”, name);
getch();
}
इसमें पूरा नाम एक साथ read होगा |


getchar() और gets():

getchar() का use किसी single chartecter को read करने के लिए किया जाता है |पूरी string को read करने के इस function को loop के साथ use किया जा सकता है |जैसे :

#include<stdio.h>
#include<conio.h>
void main ()
{
int i ;
char name [15];
printf(“Enter your String”);
for(i=0;i<=15;i++)
{
name[i]=getchar();
}
getch();
}
इसमें for loop 15 बार चलेगा और हर एक बार मे string का एक character read होगा |
gets() का use पूरी line को एक साथ read किया जाता है |इसकी header file stdio.h होती है |ये function जब तक execute होगा जब तक की New Line command नहीं आ जाता है |
उदहारण के लिए :
#include<stdio.h>
#include<conio.h>
void main ()
{
char name [15];
printf(“Enter your String”);
gets(name);
scanf(“%s”,name);
getch();
}


4.Writing


printf():

string के लिए printf function fundamental datatype की तरह execute होता है इसमें data formate specifier ‘%s’होता है |
उदहारण के लिए :
#include<stdio.h>
#include<conio.h>
void main ()
{
char name [15];
printf(“Enter your String”);
scanf(“%s”, name);
printf(“Your name is =%s”,name);
getch();
}
आउटपुट होगा :
Enter your String Parth
Your name is = Parth
%s के साथ modifier भी use कर सकते है जैसे
#include<stdio.h>
#include<conio.h>
void main ()
{
char name [15];
printf(“Enter your String”);
scanf(“%[. . ]”, name);
printf(“Your name is =%s”,name);
printf(“Your name is =%15.5s”,name);
printf(“Your name is =%-15.5s”,name);
printf(“Your name is =%15.0s”,name);
getch();
}
इस उदहारण मे %15.5s का मतलब है की string के first five character, string के 15 memory block मे store होगे|
Minus sign का मतलब है की string का assignment left side से शुरू होगा |
%15.0s का मतलब है की string का कोई भी charterer print नहीं होगा |
आउटपुट होगा :
Enter your String Parth Patel
Your name is = Parth Patel
Your name is =            Parth
Your name is = Parth
Your name is =


putchar() और puts()

putchar() का use किसी single chartecter को write करने के लिए किया जाता है |पूरी string को write करने के इस function को loop के साथ use किया जा सकता है |जैसे :

#include<stdio.h>
#include<stdio.h>
#include<conio.h>
void main ()
{
char name [15];
printf(“Enter your String”);
scanf(“%[. . ]”, name);
for(i=0;i<=15;i++)
{
putchar(name[i]);
}
getch();
}
puts() का use पूरी line को एक साथ read किया जाता है |इसकी header file stdio.h होती है |ये function जब तक execute होगा जब तक की New Line command नहीं आ जाता है |
उदहारण के लिए :
#include<stdio.h>
#include<conio.h>
void main ()
{
char name [15];
printf(“Enter your String”);
gets(name);
puts(name);
getch();
}