Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menulis std::string dengan betul ke Fail Teks dalam C ?

Bagaimana untuk Menulis std::string dengan betul ke Fail Teks dalam C ?

DDD
Lepaskan: 2024-11-26 01:43:10
asal
942 orang telah melayarinya

How to Properly Write a std::string to a Text File in C  ?

Cara Menulis ke Fail Teks Menggunakan std::string

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:

  1. Buka objek ofstream untuk mewakili fail yang dikehendaki.
  2. Gunakan << operator (seperti yang anda lakukan dengan std::cout) untuk menulis std::string ke ofstream.
  3. Tutup ofstream untuk menulis perubahan pada cakera.

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());
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan