mal ne kurze frage...



  • Hi ich habe mal eine kurze Frage an euch.

    Ich hab in der Uni Info und ich verstehe 2-3 Zeilen nicht. Könnte mir die jmd erklären??

    if (zeile.find("G:")!=string::npos)										
    				{
    					zeile.erase(0,2);			
    					iss.str(zeile);							
    					iss >> g;							
    					iss.clear();															
    				}
    

    Was bewirkt das !=string::npos und was macht das iss.str(zeile) genau?

    mfg
    wog



  • zeile.find("G:")!=string::npos Sucht nach dem Substring G: innerhalb von Zeile. Wenn Der String nicht gefundet wird, liefert find string::npos .
    iss wird ein std::stringstream sein, und der wird mit dem String zeile "geladen".



  • Hi,

    noch eine kleine Anmerkung von mir:
    Es wird zwar gesucht, ob sich irgendwo ein "G:" befindet, aber es werden immer die ersten 2 Zeichen gelöscht ....

    Das funktioniert zwar vermutlich in der Praxis oftmals wie gewünscht, ist aber vermutlich trotzdem nicht "richtig".

    Gruß,

    Simon2.



  • Simon2 schrieb:

    Hi,

    noch eine kleine Anmerkung von mir:
    Es wird zwar gesucht, ob sich irgendwo ein "G:" befindet, aber es werden immer die ersten 2 Zeichen gelöscht ....

    Das funktioniert zwar vermutlich in der Praxis oftmals wie gewünscht, ist aber vermutlich trotzdem nicht "richtig".

    Gruß,

    Simon2.

    Richtig. Besser wäre es wohl, wenn die Abfrage

    if (zeile.length()>1 && zeile.substr(0,2)=="G:")
    

    lauten würde.


Anmelden zum Antworten