schleifenproblem



  • Hi

    do{
      p2=0;
      if(mynetworks.find("%2F")){
       mynetworksfind = true;
      }
      else{
       mynetworksfind = false;
      }
     if(mynetworksfind==true){
      p2=mynetworks.find("%2F");
      mynetworks.erase(p2, 3);
      mynetworks.insert(p2, "/");
     }
     }while(mynetworksfind==true);
    

    wo liegt da der Fehler. Wenn ich nur

    p2=mynetworks.find("%2F");
      mynetworks.erase(p2, 3);
      mynetworks.insert(p2, "/");
    

    ausführe gehts sobald ich das aber in ne schleife pack bricht mein programm einfach ab.

    MFG eiskalt



  • std::string::size_type st = std::string::npos;
    
    do {
    	st = mynetworks.find("%2F");
    
    	if (mynetworksfind = st != std::string::npos)
    		mynetworks.replace(st,3,"/");
    }
    while (mynetworksfind);
    
    //oder
    
    using std::string;
    
    for (string::size_type a = 0; (a = mynetworks.find("%2F",a)) != string::npos; )
    	mynetworks.replace(a,3,"/");
    


  • std::string::size_type

    std::string::npos

    wasn das??

    MFG eiskalt



  • guck doch selber nach...


Anmelden zum Antworten