द्वारा स्ट्रिंग बदलें मैं सी ++ में शुरुआत कर रहा हूं और मैं वर्तमान में तारों के साथ काम कर रहा हूं। मेरा प्रश्न यह है कि जब मैं नीचे दिए गए स्क्रिप्ट को संकलित करता हूं, तो मैं स्ट्रिंग के वर्ण प्राप्त कर सकता हूं जब मैं इंडेक्स नोटेशन का उपयोग करता हूं, लेकिन स्ट्रिंग को cout
का उपयोग करके स्वयं नहीं प्राप्त कर सकता।सी ++: इंडेक्स
#include <iostream>
#include <string>
using namespace std;
int main()
{
string original; // original message
string altered; // message with letter-shift
original = "abc";
cout << "Original : " << original << endl; // display the original message
for(int i = 0; i<original.size(); i++)
altered[i] = original[i] + 5;
// display altered message
cout << altered[0] << " " << altered[1] << " " << altered[2] << endl;
cout << "altered : " << altered << endl;
return 0;
}
जब मैं इस स्क्रिप्ट को चलाने, स्ट्रिंग "बदल" में पात्रों इस लाइन के साथ सही ढंग से प्रदर्शित कर रहे हैं:
cout << altered[0] << " " << altered[1] << " " << altered[2] << endl;
लेकिन स्वयं स्ट्रिंग इस के साथ प्रदर्शित नहीं किया जाता इस कोड है लाइन:
cout << "altered : " << altered << endl;
मैं जानना चाहता हूं कि ऐसा क्यों होता है।
जबकि आपके पास पहले से ही एक उत्तर है, तो अपने प्रोग्राम में डायग्नोस्टिक्स को सक्षम करने का तरीका जानने का प्रयास करें। आपके पास जो कोड है वह वास्तव में छोटी है, लेकिन सी ++ कंपाइलर्स प्रदान करने वाले डायग्नोस्टिक मोड का उपयोग करके, यह त्रुटि आसानी से पाई जा सकती थी। –
कृपया सभी उत्तरों के माध्यम से अभी जाएं और उस प्रश्न को चिह्नित करें जो आपके प्रश्न का सबसे अच्छा जवाब दे। प्रश्न खोलने के लिए अच्छा नहीं है :-) –
कृपया ध्यान दें कि सी ++ कोड [* स्क्रिप्ट *] नहीं है (https://en.wikipedia.org/wiki/Scripting_language) लेकिन * स्रोत कोड *। लिपियों का अर्थ है और सी ++ स्रोत कोड [संकलित] है (https://en.wikipedia.org/wiki/Compiled_language)। –