000
09.01.2006, 13:00 Uhr
Noob2k5
|
Im E-Book C++ in 21 Tagen ist folgendes Beispiel zum reinschreiben in eine Datei drin:
C++: |
1: #include <fstream.h> 2: int main() 3: { 4: char fileName[80]; 5: char buffer[255]; // fuer die Benutzereingabe 6: cout << "Dateiname: "; 7: cin >> fileName; 8: 9: ofstream fout(fileName); // zum Schreiben oeffnen 10: fout << "Diese Zeile wird direkt in die Datei geschrieben...\n"; 11: cout << "Bitte Text fuer die Datei eingeben: "; 12: cin.ignore(1,'\n'); // Neue Zeile nach dem Dateinamen entfernen 13: cin.getline(buffer,255); // Benutzereingabe einlesen 14: fout << buffer << "\n"; // und in die Datei schreiben 15: fout.close(); // Datei schliessen, bereit zum erneuten Oeffnen 16: 17: ifstream fin(fileName); // zum Lesen erneut oeffnen 18: cout << "So lautet der Inhalt der Datei:\n"; 19: char ch; 20: while (fin.get(ch)) 21: cout << ch; 22: 23: cout << "\n***Ende des Dateiinhalts.***\n"; 24: 25: fin.close(); // Ordnungssinn zahlt sich aus 26: return 0; 27: }
|
Als Erklärungstext zur Zeile 12 steht da:
Zitat: |
Das Zeichen für Neue Zeile, das von der Eingabe des Dateinamens übrig geblieben ist, wird in Zeile 12 gelöscht und die Benutzereingabe wird vorerst in einem Puffer gespeichert (Zeile 13).
|
Was ich nicht ganz verstehe ist folgendes:
In Zeile 10 schreibe ich ja bereits etwas in die datei "fout" hinein, aber in Zeile 12 entferne ich ein '\n' am Endes des Dateinames - welche Sinn hat das zu diesem Zeitpunkt den noch? Ich hab doch bereits was in die Dateig eschrieben. Ist es schlimm einen Dateinamen zu haben der am Ende ein Satzendezeichen '\n' hat?
Aus dem Text der im Ebook steht werde ich nicht schau - hoffe ihr könnt mir da was helfen
Gruß |