Heim  >  Artikel  >  Backend-Entwicklung  >  Wie schreibe ich einen std::string ordnungsgemäß in eine Textdatei in C?

Wie schreibe ich einen std::string ordnungsgemäß in eine Textdatei in C?

DDD
DDDOriginal
2024-11-26 01:43:10850Durchsuche

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

So schreiben Sie mit std::string in eine Textdatei

Beim Versuch, einen std::string in eine Datei zu schreiben, kann es vorkommen, dass Zeichen erscheinen als Kästchen und nicht als beabsichtigter Text. Dies liegt daran, dass die Methode write() binäre Daten im String-Objekt speichert, einschließlich eines Zeigers und der Datenlänge.

Das Schreiben in eine Textdatei erfordert jedoch einen anderen Ansatz. Die empfohlene Methode besteht darin, einen Ofstream (Out-File-Stream) zu verwenden, der sich ähnlich wie std::cout verhält, die Ausgabe jedoch in eine Datei leitet.

Um mit std::string in eine Textdatei zu schreiben, müssen Sie können Sie diesen Schritten folgen:

  1. Öffnen Sie ein Ofstream-Objekt, um die gewünschte Datei darzustellen.
  2. Verwenden Sie die Funktion << Operator (wie Sie es mit std::cout tun würden), um den std::string in den Ofstream zu schreiben.
  3. Schließen Sie den Ofstream, um die Änderungen auf die Festplatte zu schreiben.

Ein Beispielcode Snippet:

#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>Hinweis:</strong> Der out.close()-Aufruf ist nicht unbedingt erforderlich, da der ofstream Der Destruktor wird dies automatisch handhaben, wenn out den Gültigkeitsbereich verlässt.</p>
<p>Wenn Sie in binärer Form in eine Datei schreiben müssen, verwenden Sie die c_str()-Methode von std::string, um die tatsächlichen Daten zu erhalten:</p>
<pre class="brush:php;toolbar:false">write.write(studentPassword.c_str(), studentPassword.size());

Das obige ist der detaillierte Inhalt vonWie schreibe ich einen std::string ordnungsgemäß in eine Textdatei in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn