मैं एक स्ट्रिंग है,मैं स्ट्रिंग का nth चरित्र कैसे प्राप्त कर सकता हूं?
char* str = "HELLO"
अगर मैं सिर्फ इतना है कि से E
प्राप्त करना चाहता था मैं यह कैसे करना होगा?
मैं एक स्ट्रिंग है,मैं स्ट्रिंग का nth चरित्र कैसे प्राप्त कर सकता हूं?
char* str = "HELLO"
अगर मैं सिर्फ इतना है कि से E
प्राप्त करना चाहता था मैं यह कैसे करना होगा?
आप करना होगा:
char c = str[1];
या भी:
char c = "Hello"[1];
संपादित करें: 'ई' को खोजने के लिए अद्यतन किया गया।
char* str = "HELLO";
char c = str[1];
ध्यान रखें कि सरणियों और सी में तार 0 के बजाय 1 पर अनुक्रमण शुरू में रखें, तो "एच" str[0]
है, "ई" str[1]
है, पहले "L" str[2]
और इतने पर है।
एआरई नोटेशन और पॉइंटर अंकगणित का उपयोग सी/सी ++ में एक दूसरे के लिए किया जा सकता है (यह सभी मामलों के लिए सच नहीं है, लेकिन जब तक आप वहां पहुंचते हैं, तो आप खुद के मामले पाएंगे)। इसलिए हालांकि str
एक सूचक है, आप इसे उपयोग कर सकते हैं जैसे कि वह तो जैसे एक सरणी थे:
char char_E = str[1];
char char_L1 = str[2];
char char_O = str[4];
... और इतने पर। आप यह भी कर सकते हैं कि पॉइंटर के मान में "add" 1 को str
पर वर्णित करें जो स्ट्रिंग में दूसरे वर्ण को इंगित करेगा। फिर आप बस कर सकते हैं:
str = str + 1; // makes it point to 'E' now
char myChar = *str;
मुझे उम्मीद है कि इससे मदद मिलती है।
#include <iostream>
#include <string>
using namespace std;
int main()
{string a="HELLO";char b=a[1];
cout<<b;
return 0;}
यह "ई" प्राप्त करता है? – Thanatos
नहीं, लेकिन मैं इसे समझता हूं और इसे अपने लिए काम कर सकता हूं – Aspyn
ठीक है, पागल, मैं गलत पढ़ता हूं। मैं इसके बजाय "ओ" के लिए जा रहा था। अभी भी जवाब अभी भी लागू होता है। –