char-Feld in int-Zahl umwandeln



  • Wer kann weiterhelfen?

    Ich möchte eine int-Zahl durch den Benutzer eingeben lassen.
    Diese kann größer sein als 127!
    Diese Zahl möchte ich über den Befehl send() zu einem Empfänger senden. Da beim Versenden nur char-Typen gesendet werden dürfen, hatte ich vor die Zahl in ein char-Feld umzuwandeln, welches dann übertragen werden kann.

    int i;
    int eingabe = 0;
    char feld[8];
    
    printf("\nBitte Zahl eingeben!\n\n");
    cin >> eingabe;
    
    char *pntr = (char*) &eingabe;
    
    for(i = 0; i < 8; i++)
    {
        feld[i] = 0;
    }
    
    for(i = 0; i < 8; i++)
    {
        feld[i] = pntr[i];
    }
    send(mysocket, feld, 8, 0);
    

    Nun hab ich leider noch das Problem, das char-Feld auf Empfängerseite wieder in eine ordentliche int-Zahl umzuwandeln.
    Wie kann man das denn am besten umrechnen? Oder gibt's vielleicht noch 'ne bessere Art der Übertragung?



  • umwandeln eines int in char[]

    char feld[8];
    int eingabe;
    sprintf(feld,"%d",eingabe);
    

    umwandeln eines char[] in int

    eingabe=atoi(feld);
    

    Grüße
    David.


Anmelden zum Antworten