এই বিভাগে, আমরা দেখব কিভাবে 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