Wenn fertig, bitte Fenster schließen
|
// Lösung zu new und delete // Dateien einbinden #include <iostream> #include <fstream> #include <string> // Dateiname const char *const pszFILENAME = "names.txt"; // main() Funktion int main() { // Zeiger auf ein string Feld std::string *pStringArray; // Anzahl der Einträge in der Datei short noOfEntries; // Blockbeginn! // Da das ifstream Objekt innerhalb des Blocks definiert wird, // wird es beim Verlassen des Blocks automatisch gelöscht, was // wiederum zum Schliessen der Datei führt { // Datei öffnen std::ifstream inFile(pszFILENAME); if (!inFile) { std::cout << "Datei " << pszFILENAME << " konnte nicht geöffnet werden!\n"; exit(1); } // Anzahl der Einträge einlesen inFile >> noOfEntries; // Zeilenende CR/LF überspringen! inFile.ignore(1); // string Feld anlegen pStringArray = new std::string[noOfEntries]; // Alle Namen einlesen for (int index=0; index<noOfEntries; index++) { // Eine Zeile einlesen std::getline(inFile,pStringArray[index]); } } // Hier wird die Datei wieder geschlossen // Alle eingelesenen Zeilen jetzt ausgeben for (int index=0; index<noOfEntries; index++) std::cout << pStringArray[index] << std::endl; // string Feld freigeben delete [] pStringArray; } |