এই বিভাগে, আমরা দেখব কিভাবে C++ স্ট্রিং (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