feste datei zuweisen("if" auffordung aus faq wird nicht genommen)
-
hallo
ich habe es auch schon mit der faq probiet,aber es will nicht
ich habe folgendes problem
ifstream* openFile() { ifstream* pFileStream = 0; for(;;) { // die Datei ?fnen, die der Benutzer angegeben hat char FileName[80]; cout << "Geben Sie den Namen einer/n " << "Datei mit Ganzzahlen ein:/n" << endl; cin >> FileName = ; // Datei zum Lesen ?fnen; // die Datei nicht erstellen, // falls sie nicht existiert pFileStream = new ifstream(FileName); if (pFileStream->good()) { break; } cerr << "Die Datei " << FileName << " konnte nicht geoeffnet werden" << endl; delete pFileStream; } return pFileStream;1.ich würde gern eine feste datei nehmen,also nicht durch eingabe.
am ende soll datei in buffer gelegt und angezeit werden.
2. die zeilen zählen würde auch gern und anzeigen lassen.danke für eure hilfe
-
Nachdem ich deinen Beitrag zu Lesen/Verstehen versucht hab, komm ich zu der
Erkenntnis das Deutsch offentsichlich nicht deine Muttersprache ist.
Daher meine Empfehlung, schreib ruhig auf Englisch das verstehen die meisten
hier gut genug um dir antworten zu können.
-
ich habe nur noch begriffe im kopf

-
also ich wollte eine datei ohne eingabe wieder aus geben habe auch schon viele code´s die die mich interssieren gefunden aber es wird immer bei if abgebrochen
wie bei der faq.wo ist mein fehler?
ich habs unter linux und windows schon probiert:(
also der code aus der faq#include <iostream> #include <fstream> //ofstream and ifstream are defined in fstream.h using namespace std; // Einen Person-Datensatz definieren struct PERSON { char VorName[20]; char NachName[20]; int TelNr; }; // fstream damit die Datei zuerst schreibend und dann lesend ge?fnet werden kann. fstream File("Person.dat", ios::out|ios::binary); if (File.is_open()) { // Nur zwei Datens?ze schreiben. // Hier w?e eine Fehlerprfung angebracht for (int i = 0; i < 2 ; ++i) { PERSON Pers; cout << "Vorname: "; cin >> Pers.VorName; cout << "Nachname: "; cin >> Pers.NachName; cout << "TelNr: "; cin >> Pers.TelNr; // Aktuelle Person in der Datei speichern. File.write((const char*)&Pers, sizeof(Pers)); } File.close(); // Datei schlie?n } // Datei zum Lesen ?fnen. File.open("Person.dat", ios::in|ios::binary); if (File.is_open()) { PERSON Pers; while (File.read((char*)&Pers, sizeof(Pers))) cout << Pers.VorName << " " << Pers.NachName << " " << Pers.TelNr << endl; }und diese meldung kommt immer
test2.cpp:14: error: syntax error before
if' test2.cpp:18: error: syntax error before;' token
test2.cpp:21: error: syntax error before<<' token test2.cpp:22: error: syntax error before>>' token
test2.cpp:23: error: syntax error before<<' token test2.cpp:24: error: syntax error before>>' token
test2.cpp:25: error: syntax error before<<' token test2.cpp:26: error: syntax error before>>' token
test2.cpp:29: error: syntax error before.' token test2.cpp:31: error: syntax error before.' token
test2.cpp:34: error: syntax error before `.' token
-
Also, wenn du den Code genauso wie er da steht compilieren willst dann fehlt noch irgendwas und wenn du nicht weist was dann sollteste vielleicht erstmal C(++) lernen
-
1. Dir fehlt die main()-Funktion
// 2. Böse, hier wird keine Bereichsprüfung vorgenommen cin >> Pers.VorName; // Besser so: cin.getline(Pers.Vorname,20); // btw wieso schreibst du "VorName"?// 3. Okay, aber... File.write((const char*)&Pers, sizeof(Pers)); // ... lieber C++-Casts verwenden (Frage: reicht hier auch static_cast? hmm File.write(reinterpret_cast<const char*>(&Pers),sizeof(Pers));Ansonsten ist es noch usus Variablennamen klein zu schreiben. Aber das sei deine Sache.
MfG SideWinder