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.