cout mit iterator



  • Hallo Leute,

    folgendes

    char ins='#';
    	 std::string::iterator it;
    	 found=input.find_first_of("ae", 0);
    
    	 if(found){
    	 	while(found != input.npos){ 	 		
    	 		it=input.begin()+(found+1);	 	// Nach gefunden einfügen	
    	 		input.insert(it, ins);
    	 		found=input.find_first_of("ae", found+1);
    		    std::cout<<it; // Geht nicht, Compiler motzt
                std::cout<<*it  // Compiler OK, zeigt aber nichts an	
    
    		}
    	}
    
    	 std::cout<<input;
    

    Wie kann ich mir den Iterator anzeigen lassen, bzw. wo wir gerade "stehen"?



  • f...k

    Habe es jetzt mit std::cout<<(*it) hinbekommen. Habe nicht gesehen das iterator scheinbar auf char bezogen ist.
    Wollte eigentlich die Position angezeigt bekommen.


  • Mod

    std::cout << it - input.begin();
    

    ?

    Habe es jetzt mit std::cout<<(*it) hinbekommen.

    Es macht keinen semantischen Unterschied ob du

    cout << *it;
    

    oder

    cout << (*it);
    

    schreibst.


Anmelden zum Antworten