AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Integer lesen, wie in C

Ein Thema von SebE · begonnen am 29. Mai 2005 · letzter Beitrag vom 1. Jun 2005
 
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Integer lesen, wie in C

  Alt 29. Mai 2005, 20:37
Zitat von Tubos:
Folgendes:
Code:
int i;
unsigned char ZweitesByte=i[1];
liefert einen Compiler Fehler.
Wenn du das hier meinst:
Code:
int *i;
int zahl=5;
i=&zahl;
unsigned char ZweitesByte=i[1];
so lässt sich das zwar kompilieren, aber in ZweitesByte steht danach nicht das zweite Byte drinnen sondern das fünfte weil die Größe des Integers (4 Byte) mit der Indexnummer multipliziert wird! Integer hat aber nur 4 Byte, sodass das fünfte Byte irgendwas von deinem Programm ist, was eben danach im RAM steht.
Willst du eine Zahl byteweise auslesen, so lässt sich das in C++ mit einem union lösen, das sowohl einen int-wert als auch ein Array von 4 char-Werten enthält. Möglicherweise gibts das in Delphi auch.


(Bitte um Korrektur falls da irgendwas nicht stimmt )
Das ganze würde hier funktionieren, wenn i ein char* wäre. Evtl. wäre da noch ein Typecast nötig, aber mit i[1] würde dann das 2. Byte indiziert werden.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz