Zum Inhalt springen

MrKrasserAlsDu

Mitglieder
  • Gesamte Inhalte

    8
  • Benutzer seit

  • Letzter Besuch

  1. Bekomme über den Compiler keine Fehlermeldung. Erst wenn ich das Programm ausführen will, kommt folgendes... Exception basic_string::_S_construct NULL not valid ...hervorgerufen durch die Angaben im main int main(int argc, char *argv[]) { try { Steuer start; } catch(invalid_argument ia) {cout << "Argumenterror: "<<ia.what()<<endl; } catch(exception &e ) { cout << "Exception "<<e.what()<<endl; } system("PAUSE"); return 0; }[/PHP] Wie finde ich jetzt den Fehler?
  2. habs mit atoi geschafft *juchuu* void laden_knd(Adresse knd[]) { std::string name; std::string vorname; std::string strasse; std::string hausnummer_string; std::string plz_string; std::string stadt; std::ifstream fin; fin.open("kunden.txt"); if (!fin) { cout << "Kunden-daten aus kunden.txt NICHT geladen weil die Datei nicht vorhanden ist. Tragen sie erst Daten ein und speichern sie diese.\n"; } else { int x; do{ for (int i=0;i<ANZ;i++) { if(!fin.eof()) { //int hausnummer=0; // int plz=0; getline (fin, name, '\t'); getline (fin, vorname, '\t'); getline (fin, strasse, '\t'); getline (fin, hausnummer_string, '\t'); getline (fin, plz_string, '\t'); getline (fin, stadt, '\n'); int hausnummer = atoi(hausnummer_string.c_str()); int plz = atoi(plz_string.c_str()); knd[i].set_name(name); knd[i].set_name(name); knd[i].set_vorname(vorname); knd[i].set_strasse(strasse); knd[i].set_hausnummer(hausnummer); knd[i].set_plz(plz); knd[i].set_stadt(stadt); x=i; } } name='#'; //löschen der beiden nullen in plz und hausnummer knd[x].set_name(name); }while(!fin.eof()); fin.close(); cout << "Auftrags-daten aus auftrag.txt geladen" << endl; } }
  3. Jetzt funktioniert das einlesen von name und vorname, aber ich bekomme bei der hausnummer und der plz eine fehlermeldung weil sie ja INT sind. gibt es da noch einen anderen befehl, statt getline? void laden_knd(Adresse knd[]) { std::string name; std::string vorname; std::string strasse; std::string hausnummer; std::string plz; std::string stadt; std::ifstream fin; fin.open("kunden.txt"); do{ for (int i=0;i<ANZ;i++) { if(!fin.eof()) { getline (fin, name, '\t'); getline (fin, vorname, '\t'); getline (fin, strasse, '\t'); getline (fin, hausnummer, '\t'); getline (fin, plz, '\t'); getline (fin, stadt, '\t'); knd[i].set_name(name); knd[i].set_vorname(vorname); knd[i].set_strasse(strasse); knd[i].set_hausnummer(hausnummer); knd[i].set_plz(plz); knd[i].set_stadt(stadt); } } }while(!fin.eof()); system("pause"); fin.close(); }
  4. Jetzt funktioniert das einlesen von name und vorname, aber ich bekomme bei der hausnummer und der plz eine fehlermeldung weil sie ja INT sind. gibt es da noch einen anderen befehl, statt getline? void laden_knd(Adresse knd[]) { for (int i=0;i<ANZ;i++)//init Datensätze { knd[i].set_name("#");//datensatz frei knd[i].set_vorname("#"); } std::string name; std::string vorname; std::string strasse; std::string hausnummer; std::string plz; std::string stadt; std::ifstream fin; fin.open("kunden.txt"); do{ for (int i=0;i<ANZ;i++) { if(!fin.eof()) { getline (fin, name, '\t'); getline (fin, vorname, '\t'); getline (fin, strasse, '\t'); getline (fin, hausnummer, '\t'); getline (fin, plz, '\t'); getline (fin, stadt, '\t'); knd[i].set_name(name); knd[i].set_vorname(vorname); knd[i].set_strasse(strasse); knd[i].set_hausnummer(hausnummer); knd[i].set_plz(plz); knd[i].set_stadt(stadt); } } }while(!fin.eof()); system("pause"); fin.close(); }
  5. schade, auch das hat das problem nicht behoben habe mal den ganzen code angehängt, weil ich ihn nicht einfügen konnte mein problem "lesen" beginnt in zeile 250 http://www.qfile.de/dl/61737/lager_1.txt.html
  6. oder wäre es vielleicht einfacher, wenn die txt ein anderes format hätte
  7. ich habe folgende name.txt name1 vorname1 name2 vorname2 diese will ich jetzt auslesen mit void laden_db() { Adresse db[ANZ]; std::string name; std::string vorname; std::ifstream fin("name.txt"); for (int i=0;i<ANZ;i++) { getline (fin, name, " "); getline (fin, vorname, " "); knd[i].set_name(name); knd[i].set_vorname(vorname); } } aber irgendwie funktioniert das nicht, habe schon soviele versionen probiert...die schleife verändert, mit get.eof() gearbeitet, aber ich schaffs nicht helft mir, thx
  8. mir hat dieser Thread schon ziemlich weitergeholfen, aber ich krieg das mit dem Lesen nicht hin Adresse knd[ANZ]; std::string name; std::string vorname; std::ifstream fin("kunden.txt"); for (int i=0;i<ANZ;i++) { getline (fin, name); getline (fin, vorname); knd[i].set_name(name); knd[i].set_vorname(vorname); }

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...