| Autor |
Nachricht |
_matze
Mitglied
Benutzerprofil
Anmeldungsdatum: 31.07.2007
Beiträge: 9275
|
_matze Mitglied
15:35:53 21.10.2009 Titel: |
|
Zitieren |
| wabbul schrieb: |
| C/C++ Code: | if (Kntnr == '0000')
{
file.open(0000.txt)
} | |
| C/C++ Code: | if (Kntnr == '0000')
{
file.open(0000.txt)
} | |
| C/C++ Code: | if (Kntnr == '0000')
{
file.open(0000.txt)
} | |
|
Anführungszeichen könnten ihren Beitrag zur erfolgreichen Übersetzung leisten. Muss aber nicht, wenn du nicht willst...
Die einfach Anführungszeichen oben sind auch falsch. Ein Zeichenliteral ist nur ein Zeichen breit, alles darüber hinaus ist ein String und bedarf der doppelten Anführungszeichen... |
_________________ Wie viele atheistische Babys hat man schon aus Versehen - oder gar mit Absicht! - getauft?
Zuletzt bearbeitet von _matze am 15:57:09 21.10.2009, insgesamt 1-mal bearbeitet |
|
 |
Th69
Mitglied
Benutzerprofil
Anmeldungsdatum: 25.03.2008
Beiträge: 2112
|
Th69 Mitglied
15:45:56 21.10.2009 Titel: |
|
Zitieren |
Florian G., überleg dir nochmal, was eine while-Schleife macht (eine if-Anweisung wäre in deinem Fall wohl sinnvoller). |
|
|
|
 |
wabbul
Unregistrierter
|
wabbul Unregistrierter
16:16:43 21.10.2009 Titel: |
|
Zitieren |
| _matze schrieb: |
Anführungszeichen könnten ihren Beitrag zur erfolgreichen Übersetzung leisten. Muss aber nicht, wenn du nicht willst... [...]
|
Asche auf mein Haupt. Danke für die Berichtigung.
Übrigens, um mal eine eigene Frage einzubringen wenn es erlaubt ist:
| C/C++ Code: | // Lese nun aus der Datei. Es wird getline verwendet um komfortabel eine ganze Zeile zu lesen. Zuerst muss aber der Dateipointer wieder auf den Anfang gesetzt werden:
file.seekg(0); | |
| C/C++ Code: | // Lese nun aus der Datei. Es wird getline verwendet um komfortabel eine ganze Zeile zu lesen. Zuerst muss aber der Dateipointer wieder auf den Anfang gesetzt werden:
file.seekg(0); | |
| C/C++ Code: | // Lese nun aus der Datei. Es wird getline verwendet um komfortabel eine ganze Zeile zu lesen. Zuerst muss aber der Dateipointer wieder auf den Anfang gesetzt werden:
file.seekg(0); | |
Was genau tut bitte die Funktion seekg(0)?
Ist diese dafür zuständig dass immer nur eine Zeile gelesen wird und nicht der gesamte Inhalt? |
|
|
|
 |
wabbul
Unregistrierter
|
wabbul Unregistrierter
16:28:19 21.10.2009 Titel: |
|
Zitieren |
Man entschuldige den doppel-Beitrag, ich werde mich gleich registrieren.
Gearde ahbe ich die Funktion seekg() getestet, die allem Anschein den Cursor auf die Stelle im Paramter verschiebt.
Welche Funktion ist also für einen Zeilensprung geeignet? |
|
|
|
 |
Florian G.
Mitglied
Benutzerprofil
Anmeldungsdatum: 21.10.2009
Beiträge: 7
|
Florian G. Mitglied
07:14:36 22.10.2009 Titel: |
|
Zitieren |
Hallo, ich habe jezz mal deine Lösung probiert, und mit einem einfachen
versehen, jedoch kommen 6 Fehlermeldungen, ich glaube das mir includes fehlen oder sonstiges, kann mal jmd bitte drübersehen, hier ein screenshot.
http://img11.imageshack.us/img11/5254/unbenannthv.jpg |
|
|
|
 |
Mizar
Mitglied
Benutzerprofil
Anmeldungsdatum: 18.10.2008
Beiträge: 215
|
Mizar Mitglied
07:26:03 22.10.2009 Titel: |
|
Zitieren |
Es sollte noch folgendes eingebunden werden:
| C/C++ Code: | #include <fstream> // für std::ifstream
#include <string> // für std::string und std::getline | |
| C/C++ Code: | #include <fstream> // für std::ifstream
#include <string> // für std::string und std::getline | |
| C/C++ Code: | #include <fstream> // für std::ifstream
#include <string> // für std::string und std::getline | |
Und noch eine kleine Anmerkung: Entweder verwendest du
| C/C++ Code: | | using namespace std; | |
| C/C++ Code: | | using namespace std; | |
| C/C++ Code: | | using namespace std; | |
und entfernst dann die ganzen std:: oder aber (was ich persönlich besser finde) du schmeißt das
| C/C++ Code: | | using namespace std; | |
| C/C++ Code: | | using namespace std; | |
| C/C++ Code: | | using namespace std; | |
weg und verwendest dann konsequent std::. Also, zum Beispiel auch hier:
| C/C++ Code: | | cout<<buffer; // <-- vor cout dann das std:: schreiben | |
| C/C++ Code: | | cout<<buffer; // <-- vor cout dann das std:: schreiben | |
| C/C++ Code: | | cout<<buffer; // <-- vor cout dann das std:: schreiben | |
Es liegt ganz an dir |
_________________ "Pardon me for not knowing they had a... sonic weapon fence."
|
|
 |
Florian G.
Mitglied
Benutzerprofil
Anmeldungsdatum: 21.10.2009
Beiträge: 7
|
Florian G. Mitglied
12:55:15 22.10.2009 Titel: |
|
Zitieren |
So Danke,
Ich habe deine Erklärungen befolgt.
Jedoch scheint es nicht ganz zu funktionieren, dort wo die .exe gespeichert wird habe ich eine 0000.txt erstellt.
Dort steht in der ersten Zeile TEST.
Jedoch wird dies nicht ausgegeben es erscheint nur ein leeres Dos Fenster.
Was mache ich den Falsch?
Danke für die schnellen Hilfen bis jetzt haben wir sehr geholfen!
| Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #include <iostream>
#include <iomanip>
#include <fstream> // für std::ifstream
#include <string> // für std::string und std::getline
using namespace std;
int main()
{
string buffer;
ifstream myFile;
myFile.open("00000.txt");//, std::ios::in); // Textdatei öffnen
while (getline(myFile, buffer)) { // die aktuelle Zeile in den String "buffer" einlesen und den Zeiger auf die nächste Zeile setzen
cout<<buffer;
// hier kannst du deine Operationen mit der aktuellen Zeile (in "buffer") durchführen, z.B. einen Wert auslesen (mit Stringoperationen) und in einer Variable speichern
}
myFile.close(); // und danach Datei schließen
fflush(stdin);
getchar();
return 0;
} | |
| Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #include <iostream>
#include <iomanip>
#include <fstream> // für std::ifstream
#include <string> // für std::string und std::getline
using namespace std;
int main()
{
string buffer;
ifstream myFile;
myFile.open("00000.txt");//, std::ios::in); // Textdatei öffnen
while (getline(myFile, buffer)) { // die aktuelle Zeile in den String "buffer" einlesen und den Zeiger auf die nächste Zeile setzen
cout<<buffer;
// hier kannst du deine Operationen mit der aktuellen Zeile (in "buffer") durchführen, z.B. einen Wert auslesen (mit Stringoperationen) und in einer Variable speichern
}
myFile.close(); // und danach Datei schließen
fflush(stdin);
getchar();
return 0;
} | |
| Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #include <iostream>
#include <iomanip>
#include <fstream> // für std::ifstream
#include <string> // für std::string und std::getline
using namespace std;
int main()
{
string buffer;
ifstream myFile;
myFile.open("00000.txt");//, std::ios::in); // Textdatei öffnen
while (getline(myFile, buffer)) { // die aktuelle Zeile in den String "buffer" einlesen und den Zeiger auf die nächste Zeile setzen
cout<<buffer;
// hier kannst du deine Operationen mit der aktuellen Zeile (in "buffer") durchführen, z.B. einen Wert auslesen (mit Stringoperationen) und in einer Variable speichern
}
myFile.close(); // und danach Datei schließen
fflush(stdin);
getchar();
return 0;
} | |
|
Zuletzt bearbeitet von Florian G. am 12:56:28 22.10.2009, insgesamt 1-mal bearbeitet |
|
 |
_matze
Mitglied
Benutzerprofil
Anmeldungsdatum: 31.07.2007
Beiträge: 9275
|
_matze Mitglied
13:00:52 22.10.2009 Titel: |
|
Zitieren |
| Florian G. schrieb: | dort wo die .exe gespeichert wird habe ich eine 0000.txt erstellt.
|
| Florian G. schrieb: |
| Code: | | myFile.open("00000.txt"); | |
| Code: | | myFile.open("00000.txt"); | |
| Code: | | myFile.open("00000.txt"); | |
|
Fällt dir was auf?
Wenn du nicht weißt, was bei einem Programm schief läuft, dann nutze den Debugger! Setze dir Breakpoints, gehe schrittweise durch das Programm, überprüfe Variableninhalte. Außerdem solltest du bei vielen Funktionen immer die Rückgabe checken. Du weißt z.B. gar nicht, ob die Datei wirklich geöffnet werden konnte. |
_________________ Wie viele atheistische Babys hat man schon aus Versehen - oder gar mit Absicht! - getauft?
|
|
 |
Florian G.
Mitglied
Benutzerprofil
Anmeldungsdatum: 21.10.2009
Beiträge: 7
|
Florian G. Mitglied
13:49:38 22.10.2009 Titel: |
|
Zitieren |
JA mir fällt auf das ich ein kleines Dumemrchen bin =)))
Vielen dank für die Hilfe den Rest werde ich hinbekommen.
TY =) |
|
|
|
 |
_matze
Mitglied
Benutzerprofil
Anmeldungsdatum: 31.07.2007
Beiträge: 9275
|
_matze Mitglied
13:52:00 22.10.2009 Titel: |
|
Zitieren |
Zur Sicherheit nochmal eine kurze Anmerkung (falls nicht sowieso schon klar): bei ifstream::open immer checken, ob die Datei wirklich geöffnet werden konnte (ansonsten halt ne Fehlermeldung oder so). |
_________________ Wie viele atheistische Babys hat man schon aus Versehen - oder gar mit Absicht! - getauft?
|
|
 |