it-swarm.com.de

Dateien in C ++ erstellen

Ich möchte eine Datei mit C++ erstellen, habe aber keine Ahnung, wie das geht. Zum Beispiel möchte ich eine Textdatei mit dem Namen Hello.txt Erstellen.

Kann mir jemand helfen?

59
Uffo

Eine Möglichkeit, dies zu tun, besteht darin, eine Instanz der ofstream-Klasse zu erstellen und diese zum Schreiben in Ihre Datei zu verwenden. Hier ist ein Link zu einer Website mit Beispielcode und weiteren Informationen zu den Standardtools, die für die meisten Implementierungen von C++ verfügbar sind:

Ofstream-Referenz

Der Vollständigkeit halber hier ein Beispielcode:

// using ofstream constructors.
#include <iostream>
#include <fstream>  

std::ofstream outfile ("test.txt");

outfile << "my text here!" << std::endl;

outfile.close();

Sie möchten std :: endl verwenden, um Ihre Zeilen zu beenden. Eine Alternative ist die Verwendung des Zeichens '\ n'. Diese beiden Dinge sind unterschiedlich, std :: endl leert den Puffer und schreibt Ihre Ausgabe sofort, während '\ n' es der Outdatei ermöglicht, Ihre gesamte Ausgabe in einen Puffer zu legen und sie möglicherweise später zu schreiben.

97
James Thompson

Tun Sie dies mit einem Dateistream. Wenn ein std::ofstream wird geschlossen, die Datei wird erstellt. Ich persönlich mag den folgenden Code, weil das OP nur fragt, eine Datei zu erstellen, nicht darin zu schreiben:

#include <fstream>

int main()
{
    std::ofstream file { "Hello.txt" };
    // Hello.txt has been created here
}

Die temporäre Variable file wird direkt nach ihrer Erstellung zerstört, sodass der Stream geschlossen und somit die Datei erstellt wird.

16
#include <iostream>
#include <fstream>

int main() {
  std::ofstream o("Hello.txt");

  o << "Hello, World\n" << std::endl;

  return 0;
}
11
Sean Bright

Hier ist meine Lösung:

#include <fstream>

int main()
{
    std::ofstream ("Hello.txt");
    return 0;
}

Datei (Hello.txt) wird auch ohne Ofstream-Namen erstellt, und dies ist der Unterschied zu Mr. Boiethios Antwort.

3
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

string filename = "/tmp/filename.txt";

int main() {
  std::ofstream o(filename.c_str());

  o << "Hello, World\n" << std::endl;

  return 0;
}

Dies ist, was ich tun musste, um eine Variable für den Dateinamen anstelle einer regulären Zeichenfolge zu verwenden.

2
Angelo