2010-07-11 9 views
38

सरल प्रश्न (सी ++ में):एक वर्ण को एक स्ट्रिंग में कनवर्ट करें?

मैं एक वर्ण को एक स्ट्रिंग में कैसे परिवर्तित करूं। तो उदाहरण के लिए मेरे पास एक स्ट्रिंग str = "abc" है;

और मैं पहला अक्षर निकालना चाहता हूं, लेकिन मैं चाहता हूं कि यह एक वर्ण के विपरीत स्ट्रिंग हो।

मैं

string firstLetter = str[0] + ""; 

और

string firstLetter = & str[0]; 

न तो काम करता है की कोशिश की। विचार?

+1

यह प्रयोग कर रहे हैं प्रोग्रामिंग भाषा को पता है अच्छा होगा। – Rab

उत्तर

54

मेरे सिर के ऊपर बंद, आप उपयोग कर रहे हैं एसटीएल तो ऐसा करते हैं:

string firstLetter(1,str[0]); 
+0

मैंने इसका इस्तेमाल किया और यह काम करता है, धन्यवाद! – MLP

+0

ध्यान दें कि 'std :: string' मानक लाइब्रेरी के उस भाग से नहीं है जो एसटीएल से लिया गया था। – sbi

+1

सिंटैक्स इंगित करता है कि यह स्पष्ट करने के लिए इस टिप्पणी को जोड़ना। यह मूल रूप से कहता है, _ ** "मुझे 'firstLetter' नामक एक 'स्ट्रिंग' चाहिए जो' str' के पहले ('[0]' तत्व तत्व से शुरू होने वाले '1' वर्ण को पकड़ लेता है। "** _ http: // en .cppreference.com/w/cpp/string/basic_string/basic_string –

18

आप std::string(size_t , char) निर्माता का उपयोग कर सकते हैं:

string firstletter(1, str[0]); 

या आप string::substr() इस्तेमाल कर सकते हैं:

string firstletter2(str.substr(0, 1)); 
+2

+1: सबसे आसान और सर्वोत्तम तरीके – rubenvb

2

स्ट्रिंग फर्स्टलेटर (str.begin(), str.begin() + 1);

5

1) std::stringstream

std::string str="abc",r; 
    std::stringstream s; 
    s<<str[0]; 
    s>>r; 
    std::cout<<r; 

2 का उपयोग करना) string (size_t n, char c);constructor

std::string str="abc"; 
    string r(1, str[0]); 

3) का उपयोग करते हुए substr()

string r(str.substr(0, 1)); 
+0

इसके अलावा, यह भी काम करेगा: 'स्ट्रिंग आर (और str [0], 1); 'या' स्ट्रिंग आर (str.c_str(), 1); ' –

3

उपयोग string::substr का उपयोग करना।

नीचे दिए गए उदाहरण में ffoo (दूसरे शब्दों में, पहला अक्षर) में ऑफ़सेट 0 के बाद 1 वर्ण वाली स्ट्रिंग होगी।

string foo = "foo"; 
string f = foo.substr(0, 1); 

cout << foo << endl; // "foo" 
cout << f << endl; // "f" 
3
char characterVariable = 'z'; 
string cToS(1, characterVariable); 

//cToS is now a string with the value of "z" 
2
string s; 
char a='c'; 
s+=a; //now s is "c" 

या

char a='c'; 
string s(a); //now s is "c" 
+0

क्या इस कोड के साथ गलत है? –

+0

मुझे लगता है कि मेरा समाधान सही है, मुझे नहीं पता कि मुझे -1 क्यों मिला। –

+0

यह मेरे लिए काम किया, इसलिए मैं वही सोच रहा हूं। –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^