Löschen der Anführungszeichen...



  • Hallo,

    was stimmt denn nicht? Er löscht die Anführungszeichen nicht 😕

    #include <iostream>
    #include <string>
    #include <vector>
    
    std::string loesche(std::vector<std::string>& vektor,int position)
    {
    	std::string ausgabe;
    	ausgabe = vektor.at(position);
    	for(int i=0; i!='\0';i++)
    	{
    		if(ausgabe.at(i) == '"')
    			ausgabe.at(i) = ausgabe.at(i++);
    	}
    	return ausgabe;
    }
    
    int main()
    {
    	std::string testwort = "\"Testwort\"";
    	std::vector<std::string> vektor;
    	vektor.push_back(testwort);
    	std::cout << loesche(vektor,0) << std::endl ;
    	return 0;
    }
    

    Wäre euch sehr verbunden!

    Danke



  • for(int i=0; i!='\0';i++)
    

    Also das hier finde ich schonmal merkwuerdig. Ich denke, dass da auch irgendwo der Fehler liegt...



  • std::string Test = "\"blabla\"";
    int iPos = Test.find( '\"' );
    while ( iPos != string::npos )
    {
        Test.erase( iPos, 1 );
        iPos = Test.find( '\"' );
    }
    

    Hab das jetzt zwar nur schnell zusammengefummelt, aber das sollte irgendwie so funzen.



  • Werde mich mal mit den Funktionen auseinandersetzen, da ich momentan kein Plan habe was "npos" macht^^

    Bin dir aber sehr dankbar! Danke



  • Schau dir mal std::string::find() auf www.cplusplus.com an. Dort wird alles erklärt, bestimmt findest du auf dieser Seite auch einige andere Antworten.

    Ansonsten sind Google und die Artikel dieses Forums ebenfalls eine gute Anlaufstelle.


Anmelden zum Antworten