Menukar std::string kepada char* atau char[]
Apabila ditugaskan untuk menukar std::string kepada char atau jenis data char[], salah tanggapan yang biasa ialah ia boleh dilakukan secara langsung. Walau bagaimanapun, andaian ini tidak betul, kerana std::string dan char ialah jenis data yang berbeza. Tugasan langsung ini akan mengakibatkan ralat kompilasi yang serupa dengan yang dihadapi: "ralat: tidak boleh menukar 'std::string' kepada 'char' ...".
Untuk berjaya membuat penukaran ini, c_str( ) kaedah std::string harus digunakan. Kaedah ini mengembalikan penuding kepada rentetan gaya C yang ditamatkan nol, memberikan akses kepada jujukan aksara asasnya. Dengan menggunakan c_str(), anda boleh mendapatkan representasi const char* bagi std::string.
Sebagai alternatif, jika bukan const char* diperlukan, kaedah data() boleh digunakan. Ia memberikan penunjuk kepada aksara pertama std::string.
Selain teknik ini, terdapat pilihan lain yang berdaya maju:
Atas ialah kandungan terperinci Cara Selamat Menukar std::string kepada char* atau char[] dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!