Mailinglist Archive: opensuse-programming-de (113 mails)

< Previous Next >
Re: long to char
  • From: David Haller <lists@xxxxxxxxxx>
  • Date: Sun, 1 Aug 2004 04:06:19 +0200
  • Message-id: <20040801020619.GA5329@xxxxxxxxxxxxxxxxxx>
Hallo,

Am Sun, 01 Aug 2004, Michael Wenger schrieb:
>Jan Hendrik Berlin schrieb am 01.08.2004 01:41 :
>>Ich hab hier gerade das Problem, dass ich einen long zerhacken und dann in
>>char speichern möchte! Das ist soweit kein Problem! Nur wie bekomme ich es
>>hin, dass er kein stress macht, wenn ich den char= long setze?? Von der
>>größe der Zahl ist es dann kein problem mehr...!
>
>Das nennt man casten. In deinem Fall ist es wohl ein static_cast:
>long lo = 80;
>char ch;
>// 1. Möglichkeit
>ch = static_cast<char>(lo);

Das ist C++

>// 2. Möglichkeit (unsauber)
>ch = char(lo);

Das ist flasch.

>Wie immer, wenn ich zu C bzw. C++ Stellung nehme: Keine Gewähr, da ich
>fast nie in diesen beiden Sprachen programmiere ;-)

*g*

Richtig:

// C++:
ch = static_cast<char>(lo);

/* C: */
ch = (char)lo;

Evtl. koennte man jeweils noch durch ein 'lo & 0x000000ff' alles
"ueberhaengende" explizit wegwerfen.

-dnh

--
Ein Freund ist jemand, der dich mag, obwohl er dich kennt.

< Previous Next >
List Navigation
Follow Ups
References