\ in Pfad einfügen



  • hi,
    ich habe versucht in einen Pfad also z.b. C:\Programme\Anderes
    hinter dem ersten \ noch ein \ einzufügen.
    Das Problem ist jedoch, dass ich die anderen Buchstaben
    nach hinten verschieben muss, damit sie erhalten bleiben.
    Das habe ich mal so versucht:

    #include <iostream>
    #include <string>
    int main() 
    {  
       std::string szFile;
       std::cin >> szFile; // Pfad einlesen
       for (int i = 0; i != szFile.size(); i++) {   // Nach \ durchsuchen
          if (szFile[i] == '\\') {        
             for (int j = i; j != szFile.size(); i++) { // Alle die danach kommen nach hinten
              szFile[j+1] = szFile[j];      // verschieben
             }   
          }
       }
       std::cout << szFile << std::endl;
       system("PAUSE");
    }
    

    Hat einer ne Idee warum ich keine Ausgabe bekomme und das Programm
    zur Laufzeit Fehler hat? 😕





  • keine Ahnung wozu das Gut sein soll, aber ein Fehler ist, dass du j+1 vom String abfragst, obwohl j bis ganz zum stringende geht.



  • Bedenke, dass du zwar im Code '\' schreiben musst, um dann im String '\' stehen zu haben, doch die Benutzereingabe von '\' direkt korrekt ist! Deshalb brauchst du sehr wahrscheinlich kein zweites '\' einfügen!


Anmelden zum Antworten