char * in int und umgedreht



  • Wie wandelt man char * in int (und umgedreht) um ???



  • Das kannst du nicht wandeln, da das eine ein Pointer, das andere eine Variable ist.
    Du kannst den Wert von deinem Pointer mit int x = (int)char_pointer, oder die Werte auf die der Pointer zeigt mit int x = char_pointer[0] holen.
    Von int nach Char* kannst den Pointer auf die Variable zeigen lassen
    char *pointer = (char*)&int_variable;

    In der Hoffnung das ich keinen Quatsch erzählt habe, verbleibe ich
    MfG



  • mit intZahl = strtol( stringZahl, &fehler, 10 );
    wobei fehler in char* ist (ist *fehler == '\0', dann wurde stringZahl
    in eine integer zahl umgewandelt.

    du kannst aber auch die sprintf/scanf bzw. snprintf funktionen benutzen:
    mit:
    sscanf( strZahl, "%d", &intZahl );
    char* -> int
    oder
    sprintf( strZahl, "%d", intZahl );
    bzw. : snprintf( strZahl, laengeStrZahl, "%d", intZahl );
    kannst du ein int in ein char* schreiben.

    edit: strtol statt atol...



  • @entelchie

    wo hast du diese Deklaration her

    intZahl = atol( stringZahl, &fehler, 10 );
    

    ich kenn nur die

    long atol( const char *string );
    


  • ups, stimmt das oben sollte natuerlich strtol heissen...


Anmelden zum Antworten