Menulis Fail dengan std::string: Unbox the Mysteries
Apabila cuba menulis std::string ke fail, pengguna boleh menemui hasil yang tidak dijangka dari kotak atau aksara yang rosak. Isu ini timbul daripada menulis data perduaan rentetan, yang mengandungi penuding dan panjang rentetan, bukannya aksara sebenar.
Untuk fail teks, penyelesaian yang sesuai ialah menggunakan ofstream, yang beroperasi seperti std ::cout tetapi mengarahkan output ke fail. Pertimbangkan contoh berikut:
#include <fstream> #include <string> int main() { std::string input; std::cin >> input; std::ofstream out("output.txt"); out << input; out.close(); return 0; }
Walau bagaimanapun, jika data binari diperlukan, aksara rentetan sebenar harus digunakan. Ini boleh dicapai menggunakan string::c_str():
write.write(studentPassword.c_str(), studentPassword.size());
Atas ialah kandungan terperinci Bagaimana Saya Menulis std::string dengan betul ke Fail dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!