string::insert(int pos, char *s) daje wstawia prócz znaku śmieci
Ostatnio zmodyfikowano 2017-05-02 21:25
latajacaryba Temat założony przez niniejszego użytkownika |
string::insert(int pos, char *s) daje wstawia prócz znaku śmieci » 2017-05-02 21:03:09 Witam. Dlaczego w takim kodzie: int main() { char a = 'a'; string text; text.insert( 0, & a ); cout << text; }
Dostaje (prócz 'a') jakieś inne znaki? |
|
Monika90 |
» 2017-05-02 21:21:54 A czy czytałeś dokumentację? Tam jest napisane jakie warunki musi spełnić drugi argument. Przy okazji, jest też wersja z trzema parametrami, ona zadziała: text.insert( 0, & a, 1 );
|
|
Rashmistrz |
» 2017-05-02 21:25:44 Dlaczego w takim kodzie dostaje (prócz 'a') jakieś inne znaki? |
Ta metoda oczekuje poprawnego C-stringa zakończonego zerem. Podajesz tam char*. Wyłuskaj ten znak, zamień w string lub skorzystaj z innej metody. |
|
« 1 » |