txt Input



  • mein code war

    while (gotHeight != true) {
       while (!FileInputString.find("widht"))
    	std::getline(MapData, FileInputString);
    
       widht    = std::stoi(FileInputString.substr(8));
       gotHeight = true;
    }
    

    aber dass geht nicht.
    wo liegt der fehler?


  • Mod

    SeppJ schrieb:

    Bitte schlag dringend Mal nach, wie man "voraus" und "width" schreibt.



  • wenn du mir sagen kannst wie ich dass mache schreib es doch bitte. ich bin NICHT auf dem forum für rechtschreibtipps , ok?
    mit feundlichen grüßen whiletruedo



  • also kann mir jemand schreiben wie ich das Problem löse welches ich habe? 😃



  • Schau dir bitte mal an, wie find funktioniert.
    http://www.cplusplus.com/reference/string/string/find/



  • könntest du mir vllt den code schreiben wie ich dann machen muss ? 😃 😕



  • WhileTrueDo schrieb:

    könntest du mir vllt den code schreiben wie ich dann machen muss ? 😃 😕

    Sorry, aber nein. Schau dir den Code auf der verlinkten Seite an und vergleich das mit deinem find-Aufruf.

    Wenn du konkrete Fragen hast oder irgendwas bestimmtes nicht verstehst, melde dich wieder.



  • ich weiß einfach nicht wie ich dass mit der while schleife mache ich hab ein paar sachen probiert(alle gescheitert). also bitte bitte bitte könntest du es einfach schreiben 😕



  • WhileTrueDo schrieb:

    mein code war

    while (gotHeight != true) {
       while (!FileInputString.find("widht"))
    	std::getline(MapData, FileInputString);
    
       widht    = std::stoi(FileInputString.substr(8));
       gotHeight = true;
    }
    

    aber dass geht nicht.
    wo liegt der fehler?

    Das dürfte daran liegen, dass der inputstream Leerzeichen ignoriert(übergib diesem via "mystream >> std::noskipws" den Befehl dies nicht zu tun).
    Dann geht es vielleicht (keine Ahnung ob die Position, an der du dann den Zahlenstring vermutest, stimmt



  • Quiz-Aufgabe:

    #include <string>
    #include <iostream>
    
    int main() {
      const std::string foo = "foobarbaz";
      if (???)
        std::cout << "Nope.\n";
      return 0;
    }
    

    Ersetze hier das "???" durch eine Abfrage, sodass wenn foo _nicht_ "blubb" enthaelt, "Nope.\n" ausgegeben wird.



  • ich habe noch ein problem mit der getline method. undzwar sage ich

    std::getline(MapDataIfStream, FileInputString);
    

    aber dann wird das Programm unterbrochen. ist dass ein fehler des ganzen programms oder nur dieser zeile?


  • Mod

    Ja? Nein? Vielleicht solltest du lieber mal nmans Quiz-Aufgabe bearbeiten?



  • ups! dass war mein fehler 😃 allerdings eine letzte sache. wie komme ich wieder an den anfang der Textdatei?


  • Mod

    setg. Und da ich deine nächste Frage schon errate: vorher clear.



  • könntest du mir vllt schreiben wie ich diese beiden was auch immer in einem code block einbaue? ich habe im internet keinen für mich erschließbaren beispiele gefunden 😞



  • Sorry, aber ein wichtiger Grundsatz hier ist, dass wir keine Hausaufgaben machen.

    Warum musst du überhaupt an den Anfang des Textfiles zurück?



  • ich habe einen abschnitt der so aussieht

    while (FileInputString.find("widht"))
       std::getline(TextInputIfStream, FileInputString);
    
    //Unnötiger code
    
    while (FileInputString.find("height"))
       std::getline(TextInputIfStream, FileInputString);
    
    //nochm mehr code
    

    durch die erste scleife kommt er durch und danach bleibt er bei der zweiten hängen. ich dachte dass wenn man wieder an den anfang geht dann könnte man den fehler beheben ...


  • Mod

    Das funktioniert primär deshalb nicht, weil du find immer noch falsch benutzt. Das hat dir nman schon mindestens 3x gesagt und er hat dir auch gesagt, wie du rausfindest, wie es richtig geht. Wenn du Antworten konsequent ignorierst, dann hilft dir sehr bald niemand mehr.



  • also damit du meine lage verstehst. ich habe keine ahnung wie ich dass machen soll trotz des beispiels nicht. doch statdessen dass mit hier jemand eine anständige hilfe gibt, wird mir gesagt wie ignorant ich sei, und dass ich dass alleine machen soll. also werde ich einfach weiterhin den falschen code benutzen bis ich den richtigen von jemandem erfahre. also wenn jemand die güte hätte mir einen winzig, winzig kleinen gefallen zu tun und zu abwechslung einfach mal den richtigen code zu schickenund mir zu sagen was jetzt nicht stimmt, wäre ich ihm sehr verbunden.



  • Oh nein. Du musst den Code völlig alleine schreiben? Wie grausam. Ich frage mich wie die anderen Programmierer das hier machen. Zeig mal etwas Eigeninitiative. Denkst du wirklich, dass du jetzt eine Lösung bekommst? Jetzt wohl erst recht nicht. Und denkst du wirklich, es interessiert jemanden ob du jetzt weiterhin den falschen Code benutzt? Ist wohl eher dein Problem.


Anmelden zum Antworten