2011-12-10 17 views

उत्तर

11

आप करना होगा:

char c = str[1]; 

या भी:

char c = "Hello"[1]; 

संपादित करें: 'ई' को खोजने के लिए अद्यतन किया गया।

+2

यह "ई" प्राप्त करता है? – Thanatos

+1

नहीं, लेकिन मैं इसे समझता हूं और इसे अपने लिए काम कर सकता हूं – Aspyn

+0

ठीक है, पागल, मैं गलत पढ़ता हूं। मैं इसके बजाय "ओ" के लिए जा रहा था। अभी भी जवाब अभी भी लागू होता है। –

21
char* str = "HELLO"; 
char c = str[1]; 

ध्यान रखें कि सरणियों और सी में तार 0 के बजाय 1 पर अनुक्रमण शुरू में रखें, तो "एच" str[0] है, "ई" str[1] है, पहले "L" str[2] और इतने पर है।

4

एआरई नोटेशन और पॉइंटर अंकगणित का उपयोग सी/सी ++ में एक दूसरे के लिए किया जा सकता है (यह सभी मामलों के लिए सच नहीं है, लेकिन जब तक आप वहां पहुंचते हैं, तो आप खुद के मामले पाएंगे)। इसलिए हालांकि 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; 

मुझे उम्मीद है कि इससे मदद मिलती है।

0
#include <iostream> 
#include <string> 
using namespace std; 
int main() 
    {string a="HELLO";char b=a[1]; 
    cout<<b; 
return 0;} 
संबंधित मुद्दे