इस खंड में, हम देखेंगे कि C++ string (std::string) को const char* या char* में कैसे बदलें। ये प्रारूप सी शैली के तार हैं। हमारे पास c_str() नामक एक फ़ंक्शन है। इससे हमें कार्य करने में मदद मिलेगी। यह एक सरणी के लिए एक सूचक देता है जिसमें स्ट्रिंग ऑब्जेक्ट के वर्तमान मान का प्रतिनिधित्व करने वाले वर्णों (यानी, एक सी-स्ट्रिंग) का शून्य-समाप्त अनुक्रम होता है।
std::string::c_str.
. के लिए घोषणा निम्नलिखित हैconst char* c_str() const;
यह फ़ंक्शन एक सरणी के लिए एक पॉइंटर देता है जिसमें स्ट्रिंग ऑब्जेक्ट के वर्तमान मान का प्रतिनिधित्व करने वाले वर्णों का एक शून्य-समाप्त अनुक्रम (यानी, एक सी-स्ट्रिंग) होता है। यदि कोई अपवाद फेंका जाता है, तो स्ट्रिंग में कोई परिवर्तन नहीं होता है।
उदाहरण कोड
#include <iostream> #include <cstring> #include <string> int main () { std::string str ("Please divide this sentence into parts"); char * cstr = new char [str.length()+1]; std::strcpy (cstr, str.c_str()); char * p = std::strtok (cstr," "); while (p!=0) { std::cout << p << '\n'; p = std::strtok(NULL," "); } delete[] cstr; return 0; }
आउटपुट
Please divide this sentence into parts