vec und so



  • hi

    vector<string> x(20,"x");
    
    string sum = "aaaaaaaaaaaaaaaaaaaa";
    
    sum[20] = x[20];
    

    ich möchte an der letzten Stelle von sum ein "x" haben.

    wie kann ich das machen?

    mfg



  • pff. Warum per Vector usw.?

    std::string sum("aaaaaaaaaaax");
    

    😉

    std::string sum("aaaaaaaaaaaa");
    sum.push_back('x');
    

    ist, denke ich, das was du willst!



  • gehtnID schrieb:

    hi

    vector<string> x(20,"x");
    
    string sum = "aaaaaaaaaaaaaaaaaaaa";
    
    sum[20] = x[20];
    

    ich möchte an der letzten Stelle von sum ein "x" haben.

    wie kann ich das machen?

    sum[19] = 'x';
    

    Im Ernst: "Geht nicht" ist keine Fehlerbeschreibung und Du versuchst, einen String einem Zeichen zuzuweisen. Was für einen Zweck verfolgst Du überhaupt?

    Korrekt wäre das erste Zeichen aus x[20] an sum[20] zuzuweisen:

    vector<string> x(20,"x");
    
    string sum = "aaaaaaaaaaaaaaaaaaaa";
    
    sum[19] = x[19][0];
    


  • gehtnID schrieb:

    hi

    vector<string> x(20,"x");
    
    string sum = "aaaaaaaaaaaaaaaaaaaa";
    
    sum[20] = x[20];
    

    ich möchte an der letzten Stelle von sum ein "x" haben.

    wie kann ich das machen?

    mfg

    die letzte stelle von sum ist nicht sum[20], sondern sum[19], weil's mit 0 beginnt zu zählen 😉 analog bei vector.

    du suchst:

    sum.replace (19, 1, x[19]);
    //ersetze zeichen 19 bis 19+1 mit dem inhalt von x[19]
    


  • gehtnID schrieb:

    hi

    vector<string> x(20,"x");
    
    string sum = "aaaaaaaaaaaaaaaaaaaa";
    
    sum[20] = x[20];
    

    ...

    1.) Wenn ein Vector/String 20 Elemente hat, ist der höchste Index 19
    2.) Warum willst Du einem einzelnen Zeichen ("sum[20]") eine Zeichenkette ("x[20]") zuweisen ?
    Meintest Du evtl.

    vector<char> x(20,'x');
    

    ?

    Gruß,

    Simon2.



  • Ne bestimmt nicht Simon2 😉 std::vector<char>(20, 'x'); wohl eher 😉



  • (D)Evil schrieb:

    Ne bestimmt nicht Simon2 😉 std::vector<char>(20, 'x'); wohl eher 😉

    Latürlich ! 👍


Anmelden zum Antworten