Im Grunde versuche ich, in einer Textdatei zu streamen und die gleichen Informationen in eine andere Textdatei zu streamen.Ein- und Ausgabe einer Textdatei in C++
Allerdings gibt es mir komische neue Zeilen.
Beispiel zu Test txt:
testing this is a test to see if this actually works
hopefully!
test
test
test
Dies ist die Ausgabe, die es mir nach dem Test ergibt:
testing this is a test to see if this actually works
hopefully!test
test
test
möchte ich den Ausgang der gleiche wie der Eingang sein. Aber ich bin mir nicht sicher, was ich falsch mache. Ich bin jetzt seit ein paar Stunden hier festgefahren, lol.
Hier ist mein Code:
string input, name, content;
cout << "Enter input name and extension (Example: hi.txt)\n";
cin >> input;
ifstream file (input.c_str());
if (file.is_open()) {
cout << "Enter output name and extension (Example: hi2.txt)\n";
cin >> name;
ofstream output(name.c_str());
while (getline(file, content)) {
output << content;
if (content == "") {
output << "\n";
}
}
}
Haben Sie versucht, 'if (Inhalt ==„\ n“)'? –
Anstatt 'getline()' Zeile für Zeile zu verwenden, sollten Sie 'get()' verwenden, um es in größeren Blöcken (sogar die ganze Sache auf einmal) zu lesen, ohne sich Gedanken über Zeilenumbrüche machen zu müssen. Sie können auch 'getline()' als 'file.getline (content)' aufrufen und Dinge konsistenter halten C++ - ish. –