Apabila cuba menulis std::string pada fail, anda mungkin menghadapi situasi di mana aksara muncul sebagai kotak dan bukannya teks yang dimaksudkan. Ini kerana kaedah write() menyimpan data binari dalam objek rentetan, termasuk penunjuk dan panjang data.
Walau bagaimanapun, menulis pada fail teks memerlukan pendekatan yang berbeza. Kaedah yang disyorkan ialah menggunakan ofstream (out-file-stream), yang berkelakuan serupa dengan std::cout tetapi mengarahkan output ke fail.
Untuk menulis ke fail teks menggunakan std::string, anda boleh mengikuti langkah berikut:
Contoh kod coretan:
#include <fstream> #include <string> int main() { std::string input; std::cin >> input; std::ofstream out("output.txt"); out << input; out.close(); return 0; }<p><strong>Nota:</strong> Panggilan out.close() bukan amat diperlukan, kerana pemusnah aliran akan mengendalikan ini secara automatik apabila keluar dari skop.</p> <p>Jika anda perlu menulis ke fail dalam bentuk binari, gunakan kaedah c_str() std::string untuk mendapatkan data sebenar:</p> <pre class="brush:php;toolbar:false">write.write(studentPassword.c_str(), studentPassword.size());
Atas ialah kandungan terperinci Bagaimana untuk Menulis std::string dengan betul ke Fail Teks dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!