Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

string::insert(int pos, char *s) daje wstawia prócz znaku śmieci

Ostatnio zmodyfikowano 2017-05-02 21:25
Autor Wiadomość
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:
C/C++
int main()
{
   
    char a = 'a';
    string text;
    text.insert( 0, & a );
   
    cout << text;
   
   
}

Dostaje (prócz 'a') jakieś inne znaki?
P-160665
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:
C/C++
text.insert( 0, & a, 1 );
P-160667
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.
P-160669
« 1 »
  Strona 1 z 1