c character conversion functions
इस ट्यूटोरियल में C ++ कैरेक्टर कन्वर्जन फंक्शन्स जैसे किसी कैरेक्टर का इंटीग्रेटर या स्ट्रिंग और कैरेक्टर ऐरे से स्ट्रिंग को टेस्ट परीक्षा में बदलना है:
C ++ में, जैसा कि हम कई प्रकार के अनुप्रयोगों को विकसित करते हैं, एक प्रकार से दूसरे में परिवर्तित करना आवश्यक हो जाता है। हमने पहले ही अपने पुराने ट्यूटोरियल में कुछ बुनियादी प्रकार के रूपांतरण देखे हैं।
हमने स्ट्रिंग रूपांतरण और न्यूमेरिक प्रकार के स्ट्रिंग्स में रूपांतरण भी देखा है। स्ट्रिंग रूपांतरण कार्यों के अलावा जो हम पहले ही देख चुके हैं, कुछ कार्य हैं जिनका उपयोग किसी चरित्र को अन्य डेटा प्रकारों में परिवर्तित करने के लिए किया जाता है।
ये ऐसे कार्य हैं जो किसी एकल वर्ण या वर्ण सरणी को लेते हैं और फिर उन्हें अन्य डेटा प्रकारों में परिवर्तित करते हैं।
=> आसान सी ++ प्रशिक्षण श्रृंखला के माध्यम से पढ़ें।
आप क्या सीखेंगे:
- सी ++ चरित्र रूपांतरण कार्य
- निष्कर्ष
सी ++ चरित्र रूपांतरण कार्य
जब यह एकल वर्ण रूपांतरण पूर्णांक या स्ट्रिंग और वर्ण सरणी के स्ट्रिंग में रूपांतरण की बात आती है, तो रूपांतरण स्ट्रिंग परिवर्तन कार्यों से थोड़ा बदल जाता है।
वेब सेवाओं का परीक्षण साक्षात्कार प्रश्न और उत्तर
इस ट्यूटोरियल में हम निम्नलिखित रूपांतरणों पर चर्चा करेंगे:
- कैरेक्टर टू इंटीगर
- स्ट्रिंग में कैरेक्टर का रूपांतरण (स्ट्रिंग टू स्ट्रिंग सी ++)
- स्ट्रिंग के लिए कैरेक्टर एरे का रूपांतरण
पहले दो रूपांतरण एक ही चरित्र से निपटते हैं जबकि अंतिम रूपांतरण में वर्ण सरणी शामिल होती है।
अभिजात वर्ग के चरित्र को बदलें - int को चार
किसी एकल वर्ण को पूर्णांक प्रकार में बदलने के लिए हमारे पास नीचे बताए गए दो तरीके हैं:
(1) कास्टिंग द्वारा
हम किसी एकल वर्ण को उसके पूर्णांक के समकक्ष बदलने के लिए कास्टिंग ऑपरेशन का उपयोग कर सकते हैं। इस स्थिति में, ASCII वर्ण के बराबर प्रदर्शित किया जाएगा।
निम्नलिखित रूपांतरण पर विचार करें,
char a = 'A'; int num = (int) a;
इस स्थिति में, 'num' का मान 65 होगा जो कि ASCII वर्ण ‘A 'के बराबर है।
वैकल्पिक रूप से, यदि हम किसी संख्या वर्ण को पूर्णांक मान में बदलना चाहते हैं, तो हम निम्नलिखित ऑपरेशन का उपयोग कर सकते हैं।
char a = '2'; int num = a-48;
यहाँ, 48 का ASCII मान है। यहाँ क्या किया जाता है दूसरी पंक्ति a-48 है जो स्पष्ट रूप से अपने ASCII समकक्ष के लिए char को धर्मान्तरित करता है और फिर इसे 48 (50-48) से घटाता है जिससे पूर्णांक मान 2 निकलता है।
# 2) स्ट्रिंगस्ट्रीम का उपयोग करना
जैसा कि पहले ही स्ट्रिंग रूपांतरण कार्यों के ट्यूटोरियल में देखा गया है, हम एक एकल वर्ण को एक पूर्णांक वस्तु के रूप में एक पूर्णांक या किसी भी संख्यात्मक मान में बदल सकते हैं।
नीचे यह प्रदर्शित करने के लिए एक कोड है।
#include #include #include using namespace std; int main() { stringstream str; str <> x; cout<<'Converted value of character 5 :'< आउटपुट:
चरित्र 5: 5 का परिवर्तित मूल्य
स्ट्रिंग करने के लिए चरित्र कन्वर्ट - स्ट्रिंग के लिए चार
ऐसे विभिन्न तरीके हैं जिनके उपयोग से हम किसी एकल वर्ण को एक स्ट्रिंग में बदल सकते हैं।
आइए इनमें से कुछ तरीकों पर चर्चा करें।
# 1) स्ट्रिंग कक्षा द्वारा प्रदान किए गए एक कंस्ट्रक्टर का उपयोग करना।
समारोह प्रोटोटाइप: string s (int n, char x);
पैरामीटर:
n => उत्पन्न होने वाले स्ट्रिंग का आकार।
x => चरित्र जो एक स्ट्रिंग में परिवर्तित किया जाना है।
वापसी मूल्य: एस चरित्र के रूपांतरण द्वारा प्राप्त ट्रिंग।
विवरण: स्ट्रिंग क्लास का निर्माण स्ट्रिंग (एन) की लंबाई और पैरामीटर के रूप में एक एकल वर्ण लेता है और फिर चरित्र को स्ट्रिंग में परिवर्तित करता है।
नीचे दिए गए एकल वर्ण को स्ट्रिंग में बदलने के लिए एक सरल उदाहरण दिया गया है।
#include #include using namespace std; int main() { string str(1,'A'); cout<<'The string obtained by converting single character : '< आउटपुट:
एकल वर्ण परिवर्तित करके प्राप्त स्ट्रिंग: ए
उपरोक्त रूपांतरण एक सरल है। हम स्ट्रिंग कंस्ट्रक्टर को कॉल करते हैं और स्ट्रिंग की लंबाई (पहला पैरामीटर) को 1 के रूप में निर्दिष्ट करते हैं क्योंकि हम एक एकल चरित्र को परिवर्तित कर रहे हैं और दूसरा पैरामीटर स्ट्रिंग में परिवर्तित होने वाला चरित्र है (इस मामले में 'ए')।
# 2) std :: string Operator = And + = का उपयोग करना
Std :: string class ऑपरेटर्स, = और + = वर्णों के लिए अतिभारित हैं। इसलिए हम इन संचालकों का उपयोग एकल चरित्र को स्ट्रिंग में बदलने के लिए कर सकते हैं।
यह नीचे दिखाए गए कार्यक्रम में प्रदर्शित किया गया है।
#include #include using namespace std; int main() { string str; char c = 'B'; str = 'C'; str += c; cout<<'The string obtained by converting single character : '< आउटपुट:
एकल चरित्र को परिवर्तित करके प्राप्त स्ट्रिंग: सीबी
इस कार्यक्रम में, हमने ओवरलोडेड ऑपरेटरों, =, और + = दोनों का उपयोग किया है। हमने एक स्ट्रिंग ऑब्जेक्ट घोषित किया है और फिर = ऑपरेटर का उपयोग करके इसे एक वर्ण सौंपा है। अगला हम + = ऑपरेटर का उपयोग करते हैं और स्ट्रिंग ऑब्जेक्ट के लिए एक और चरित्र असाइन करते हैं।
हम देखते हैं कि दूसरी बार चरित्र वास्तव में स्ट्रिंग ऑब्जेक्ट में पहले से मौजूद सामग्री के लिए संक्षिप्त हो जाता है।
# 3) एसटीडी के विभिन्न तरीकों का उपयोग :: स्ट्रिंग
std :: string class विभिन्न अतिभारित विधियों का समर्थन करता है, जिनके उपयोग से हम एक वर्ण को स्ट्रिंग में पारित कर सकते हैं जो अंततः स्ट्रिंग को वर्ण में परिवर्तित करता है।
Std :: string class के कुछ तरीके हैं:
- पीछे धकेलना
समारोह प्रोटोटाइप: शून्य पुश_बैक (चार सी)
पैरामीटर: c => स्ट्रिंग को सौंपा जाने वाला चरित्र
प्रतिलाभ की मात्रा: शून्य देता है
विवरण: यह फ़ंक्शन वर्णों के लिए अतिभारित है और यह स्ट्रिंग के अंत में एक चरित्र प्रदान करता है।
- संलग्न
समारोह प्रोटोटाइप: स्ट्रिंग और एपेंड (size_t n, char c)
पैरामीटर:
n => वर्ण को कितनी बार जोड़ा जाना है।
c => चरित्र जो स्ट्रिंग के लिए जोड़ा जाना है।
प्रतिलाभ की मात्रा: चरित्र के रूपांतरण द्वारा प्राप्त स्ट्रिंग।
विवरण: Std का कार्य कार्य :: स्ट्रिंग दो तर्क लेता है। पहला तर्क यह है कि चरित्र को स्ट्रिंग में कॉपी किया जाना है। दूसरा तर्क नकल करने के लिए वास्तविक चरित्र है। इसलिए परिशिष्ट फ़ंक्शन स्ट्रिंग के चरित्र की उन कई प्रतियों को पहले तर्क में निर्दिष्ट करेगा।
- असाइन
समारोह प्रोटोटाइप: स्ट्रिंग & असाइन करें (size_t n, char c);
पैरामीटर:
n => वर्ण की प्रतियों की संख्या।
c => चरित्र जिसे स्ट्रिंग में कॉपी किया जाना है।
प्रतिलाभ की मात्रा: चरित्र के रूपांतरण द्वारा प्राप्त स्ट्रिंग।
विवरण: असाइन करें फ़ंक्शन वर्ण (दूसरा तर्क) की एन (पहली तर्क) प्रतियों के साथ वर्तमान स्ट्रिंग सामग्री को बदलता है।
- डालने
समारोह प्रोटोटाइप: string & insert (size_t pos, size_t n, char c);
पैरामीटर:
स्थिति => स्थिति जिसके आरंभ में अक्षर डाले जाने हैं।
n => वर्ण की प्रतियों की संख्या।
c => वह अक्षर जो स्ट्रिंग में डाला जाना है।
प्रतिलाभ की मात्रा: चरित्र के रूपांतरण द्वारा प्राप्त स्ट्रिंग।
विवरण: यह फ़ंक्शन पॉस (पहला तर्क) द्वारा निर्दिष्ट स्ट्रिंग की शुरुआत की स्थिति में चरित्र (तीसरा तर्क) की एन (दूसरा तर्क) प्रतियां सम्मिलित करता है।
अगला, हम एक प्रोग्राम विकसित करेंगे, जो std :: string class के उपरोक्त सभी कार्यों को प्रदर्शित करता है।
#include #include using namespace std; int main() { string str; str.push_back('A'); cout<<'push_back single character : '< आउटपुट:
push_back एकल वर्ण: A
एकल चरित्र: सी
एकल चरित्र असाइन करें: डी
एकल चरित्र डालें: बी.डी.
उपरोक्त कार्यक्रम पुश_बैक, एपेंड, असाइन और फ़ंक्शंस प्रदर्शित करता है। आउटपुट परिणाम या स्ट्रिंग को प्रत्येक फ़ंक्शन द्वारा लौटाता है।
# 4) Std :: stringstream का उपयोग करना
हमने पहले ही संख्यात्मक प्रकारों को स्ट्रिंगस्ट्रीम का उपयोग करके स्ट्रिंग में बदलने पर चर्चा की है। एक स्ट्रिंग में वर्ण का रूपांतरण भी उसी सिद्धांत का अनुसरण करता है जब एक स्ट्रिंगस्ट्रीम वर्ग का उपयोग किया जाता है।
दिए गए चरित्र को धारा में डाला जाता है और फिर सामग्री को स्ट्रिंग में लिखा जाता है।
C ++ प्रोग्राम का उपयोग करके इसे स्पष्ट करें।
#include #include #include using namespace std; int main() { string str; stringstream mystr; mystr<>str; cout<<'The string obtained by converting single character : '< आउटपुट:
एकल वर्ण को परिवर्तित करके प्राप्त की गई स्ट्रिंग: ए
हम पहले चरित्र को स्ट्रीम ऑब्जेक्ट में सम्मिलित करते हैं और फिर उस बफर को स्ट्रिंग ऑब्जेक्ट पर लिखा जाता है। इस प्रकार कार्यक्रम का आउटपुट स्ट्रिंग ऑब्जेक्ट की सामग्री को दर्शाता है जो एक एकल वर्ण है।
चरित्र सरणी को स्ट्रिंग में परिवर्तित करें
वर्ग एसटीडी :: स्ट्रिंग में कई तरीके हैं जो चरित्र सरणियों से निपटने के दौरान काम आ सकते हैं। इसलिए चरित्र सरणियों को स्ट्रिंग ऑब्जेक्ट में परिवर्तित करने और फिर उनका उपयोग करने की सलाह दी जाती है ताकि हम कुशल कार्यक्रम लिख सकें।
चरित्र सरणी को एक स्ट्रिंग में बदलने के लिए दो तरीके हैं जैसा कि नीचे दिखाया गया है।
(1) स्ट्रिंग कंस्ट्रक्टर का उपयोग करना
जैसा कि पहले से ही एकल वर्ण को स्ट्रिंग में परिवर्तित करने के लिए चर्चा की गई है, हम एक चरित्र सरणी को स्ट्रिंग में बदलने के लिए स्ट्रिंग निर्माता का उपयोग कर सकते हैं।
समारोह प्रोटोटाइप: string (const char * s);
पैरामीटर: s => अशक्त-वर्ण वर्ण सरणी को स्ट्रिंग में परिवर्तित किया जाना है
प्रतिलाभ की मात्रा: string => परिवर्तित स्ट्रिंग
विवरण: Std :: string class का यह ओवरलोडेड कंस्ट्रक्टर चरित्र सरणी या C- स्ट्रिंग को एक तर्क के रूप में लेता है और स्ट्रिंग लौटाता है।
निम्न कार्यक्रम इस रूपांतरण को प्रदर्शित करता है।
#include #include using namespace std; int main() { char myarray() = {'Software Testing Help'}; string mystr(myarray); cout<<'Converted string: '< आउटपुट:
परिवर्तित स्ट्रिंग: सॉफ्टवेयर परीक्षण सहायता
उपरोक्त कार्यक्रम काफी सरल है। सभी इसे लेता है std :: string कंस्ट्रक्टर को दिए गए वर्ण सरणी को स्ट्रिंग में बदलने के लिए सिर्फ एक कॉल है।
# 2) ओवरलोडेड ऑपरेटर का उपयोग करना
चरित्र सरणी को स्ट्रिंग ऑब्जेक्ट में बदलने के लिए एक और दृष्टिकोण एक अधिभार ऑपरेटर = का उपयोग करना है। इसमें हम सीधे = ऑपरेटर का उपयोग करके स्ट्रिंग ऐरे को स्ट्रिंग ऑब्जेक्ट को असाइन कर सकते हैं और सामग्री को स्ट्रिंग में पास किया जाएगा।
निम्न उदाहरण यह दर्शाता है।
#include #include using namespace std; int main() { char myarray() = {'Software Testing Help'}; string mystr; mystr = myarray; cout<<'Converted string: '< आउटपुट:
परिवर्तित स्ट्रिंग: सॉफ्टवेयर परीक्षण सहायता
उपरोक्त प्रोग्राम = ऑपरेटर को स्ट्रिंग ऑब्जेक्ट के लिए सीधे असाइन करता है = ऑपरेटर जिसके परिणामस्वरूप कैरेक्टर एरे की सामग्री को स्ट्रिंग ऑब्जेक्ट में कॉपी किया जा रहा है।
निष्कर्ष
हमने एकल वर्णों के साथ-साथ स्ट्रिंग ऑब्जेक्ट्स में वर्ण सरणियों को परिवर्तित करने के लिए विभिन्न तरीकों को देखा है। चूंकि std :: string class के कई कार्य हैं जो हमें स्ट्रिंग्स को कुशलता से मैनिपुलेट करने की अनुमति देते हैं, यह हमेशा स्ट्रिंग्स को पहले परिवर्तित करके चरित्र डेटा के साथ काम करने में सहायक होता है।
आगे पढ़ना = >> जावा में चार को इंट में बदलें
आगे पढ़ना = >> जावा में स्ट्रिंग को स्ट्रिंग में बदलें
चरित्र डेटा को स्ट्रिंग्स में बदलने के लिए हम क्लास के तरीकों का भी उपयोग कर सकते हैं। इसमें, हम पहले डेटा को स्ट्रीम में सम्मिलित करते हैं और फिर इस बफर को एक स्ट्रिंग ऑब्जेक्ट पर लिखते हैं।
हमारे बाद के ट्यूटोरियल में, हम एक स्ट्रिंगस्ट्रीम क्लास और अधिक लाइब्रेरी फ़ंक्शंस पर C ++ में विस्तार से चर्चा करेंगे।
=> C ++ प्रशिक्षण ट्यूटोरियल के ए-जेड को देखने के लिए यहां देखें।
अनुशंसित पाठ
- पायथन स्ट्रिंग फ़ंक्शंस
- स्ट्रिंग स्ट्रिंग बफर और स्ट्रिंग बिल्डर ट्यूटोरियल के साथ जावा स्ट्रिंग
- C ++ कैरेक्टर वर्गीकरण और ट्रैनफॉर्मेशन फ़ंक्शंस
- VBScript स्ट्रिंग फ़ंक्शंस: VBScript inStr, बदलें, मध्य और ट्रिम फ़ंक्शंस
- पायथन स्ट्रिंग स्प्लिट ट्यूटोरियल
- सी # स्ट्रिंग ट्यूटोरियल - कोड उदाहरण के साथ स्ट्रिंग के तरीके
- उदाहरणों में C ++ में स्ट्रिंग्स
- पुस्तकालय कार्य C ++ में