एक समय में एक सी-शैली स्ट्रिंग में एक इनपुट इनपुट को पढ़ना पसंद है। आप सेट आकार के साथ पहले चार सरणी बनाने के बिना ऐसा कैसे करते हैं (आप नहीं जानते कि उपयोगकर्ता कितने अक्षर दर्ज करेगा)। और चूंकि आप सरणी का आकार बदल नहीं सकते हैं, यह कैसे किया जाता है? मैं इन पंक्तियों के साथ कुछ सोच रहा था, लेकिन यह काम नहीं करता है।सी ++ सी-स्टाइल स्ट्रिंग में एक बार में एक char में पढ़ा जाता है? सी ++ आईडी में
char words[1];
int count = 0;
char c;
while(cin.get(c))
{
words[count] = c;
char temp[count+1];
count++;
words = temp;
delete[] temp;
}
शब्द सरणी 1 बाइट लंबी है ...... सी स्टाइल स्ट्रिंग में कम से कम 2 बाइट्स होना चाहिए: एक चरित्र के लिए 1 और 'पूर्ण' समाप्ति के लिए 2 एसडी होना चाहिए। – LPs
केवल 'हटाएं' जो आप 'नया' करते हैं, और केवल 'हटाएं []' जिसे आप नया करते हैं [] '। चूंकि आप गतिशील रूप से 'temp' आवंटित नहीं करते हैं, इसलिए आपको इसे मुक्त नहीं करना चाहिए। –