problem mit string::copy [solved]



  • ich schreibs mal so:

    map <int, string> TTab;
    TTab Table;
    char* temp = "blabla";
    int n = 4;
    string s;
    Table[1] = s;
    s.copy(temp, n, 0); // liefert 0 zurück
    

    in s steht aber nichts drinn, hab ich da vielleicht irgendwas vergessen was mir diese überaus detailierte borland hilfe nicht angezeigt hat ?



  • Bei copy ist der String die Quelle, nicht das Ziel. Das Ziel ist der erste Parameter.



  • Du hast die Funktionsweise von copy() falsch verstanden - die Funktion kopiert den Inhalt des Strings in ein char-Array. Für den umgekehrten Weg kannst du die normalen Zuweisungen verwenden:

    Table[1]="blabla";
    


  • ups .... wie mach ich das dann andersrum ?
    ich muss nur eine bestimmte anzahl zeichen aus temp nach string verfrachten, nich alles!!!



  • Schau dir mal die Methode std::string::assign() an, die ist dafür gedacht.



  • [EDIT] danke Cstoll ^^

    <ignorebecausepostedtolate>
    konkret wollt ich halt

    Table[ID].pseudocopy(temp, n); //halt aus temp n zeichen in die map unter ID einlesen
    

    </ignorebecausepostedtolate>


Log in to reply