[Anfängerprobleme] Hex-Wert in char casten
-
@Swordfish sagte in [Anfängerprobleme] Hex-Wert in char casten:
lustigerweise ist das nicht nur in C++ UB sondern auch in C.
Eine Begründung wäre trotzdem nicht schlecht.
-
@RBS2 sagte in [Anfängerprobleme] Hex-Wert in char casten:
@Swordfish sagte in [Anfängerprobleme] Hex-Wert in char casten:
lustigerweise ist das nicht nur in C++ UB sondern auch in C.
Eine Begründung wäre trotzdem nicht schlecht.
Geh weg. Lies den Standart.
-
@Swordfish sagte in [Anfängerprobleme] Hex-Wert in char casten:
@RBS2 sagte in [Anfängerprobleme] Hex-Wert in char casten:
@Swordfish sagte in [Anfängerprobleme] Hex-Wert in char casten:
lustigerweise ist das nicht nur in C++ UB sondern auch in C.
Eine Begründung wäre trotzdem nicht schlecht.
Geh weg. Lies den Standart.
Es heißt "Standard". Da du zu wissen vorgibst, dass es sich hierbei um UB handelt, kannst du mir doch sicherlich die entsprechenden Passagen aus dem Standard nennen, die das belegen, oder?
-
Ja, könnte ich.
-
-
-
@RBS2 sagte in [Anfängerprobleme] Hex-Wert in char casten:
Da du zu wissen vorgibst, dass es sich hierbei um UB handelt, kannst du mir doch sicherlich die entsprechenden Passagen aus dem Standard nennen, die das belegen, oder?
Du könntest im Gegenzug jede deiner Zeilen erklären und belegen, warum diese jeweils wohldefiniert sind.
-
@wob sagte in [Anfängerprobleme] Hex-Wert in char casten:
@RBS2 sagte in [Anfängerprobleme] Hex-Wert in char casten:
Da du zu wissen vorgibst, dass es sich hierbei um UB handelt, kannst du mir doch sicherlich die entsprechenden Passagen aus dem Standard nennen, die das belegen, oder?
Du könntest im Gegenzug jede deiner Zeilen erklären und belegen, warum diese jeweils wohldefiniert sind.
Das müsste ich in der Tat machen, würde ich behaupten eine hieb- und stichfeste Lösung zu präsentieren. Doch das tue ich zum Glück nicht.
-
@RBS2 sagte in [Anfängerprobleme] Hex-Wert in char casten:
Doch das tue ich zum Glück nicht.
Ja, zum Glück nicht.
-
@Swordfish sagte in [Anfängerprobleme] Hex-Wert in char casten:
Ja, zum Glück nicht.
So ist es. Also hast du gute Chancen, meine Vorschläge gemäß des Standards als UB zu outen. Also wohlan!
-
Dieser Beitrag wurde gelöscht!
-
@__Ars3n sagte in [Anfängerprobleme] Hex-Wert in char casten:
Ich habs probiert, schaff es aber nicht die Hexwerte, welche als char-pointer bzw dann als string gespeichert sind, in einen char zu casten .
Mit casten hat das garnichts zu tun. Du bekommst in
argv[1]
eine Zeichenkette, die mit0x
beginnt und dann hexadezimale Ziffern enthält. Die (jeweils zwei davon) in einemchar
zu speichern ist Dein Bier.@RBS2 sagte in [Anfängerprobleme] Hex-Wert in char casten:
So ist es. Also hast du gute Chancen, meine Vorschläge gemäß des Standards als UB zu outen. Also wohlan!
Das Lesen eines union Members der nicht vorher geschrieben wurde ist in C++ UB. Punkt.
-
@Swordfish sagte in [Anfängerprobleme] Hex-Wert in char casten:
Das lesen eines union Members der nicht vorher geschrieben wurde ist in C++ UB.
Das klingt sogar recht plausibel. Ist aber nur eine Vermutung, oder?
-
@RBS2 sagte in [Anfängerprobleme] Hex-Wert in char casten:
@Swordfish sagte in [Anfängerprobleme] Hex-Wert in char casten:
Das lesen eines union Members der nicht vorher geschrieben wurde ist in C++ UB.
Das klingt sogar recht plausibel. Ist aber nur eine Vermutung, oder?
Nein, das ist keine Vermutung sondern Fakt. Geh weg. Du verpestest schon wieder einen Thread mit sinnlosem OT.
-
@Swordfish sagte in [Anfängerprobleme] Hex-Wert in char casten:
Nein, das ist keine Vermutung sondern Fakt. Geh weg. Du verpestest schon wieder einen Thread mit sinnlosem OT.
Fakt(um) behauptest du. Aber ist es wirklich so? OT wäre es nur, wenn kein Bezug zur Frage da wäre.
-
@RBS2 sagte in [Anfängerprobleme] Hex-Wert in char casten:
Fakt(um) behauptest du. Aber ist es wirklich so? OT wäre es nur, wenn kein Bezug zur Frage da wäre.
Es ist kein Bezug zur Frage da, weil man dazu keine
union
braucht. Troll dich endlich.
-
@Swordfish sagte in [Anfängerprobleme] Hex-Wert in char casten:
Es ist kein Bezug zur Frage da, weil man dazu keine union braucht.
Es sind auch Ansätze ohne Union möglich. Einen zeigte ich bereits.
-
@RBS2 sagte in [Anfängerprobleme] Hex-Wert in char casten:
Es sind auch Ansätze ohne Union möglich. Einen zeigte ich bereits.
https://www.c-plusplus.net/forum/post/2569854 ? Das ist genauso UB. In C und C++.
-
@Swordfish sagte in [Anfängerprobleme] Hex-Wert in char casten:
Das ist genauso UB. In C und C++.
Vermutest du, oder kannst du beweisen?
Übrigens, falls das "aaa" ursprünglich eine Zeichenkette war, dann ginge auch sowas:
#include <iostream> using namespace std; int main() { string s; cin >> s; uint32_t v = strtol (s.c_str(), 0, 16); uint8_t b1 = v&0xff; uint8_t b2 = (v>>8)&0xff; uint8_t b3 = (v>>16)&0xff; //uint8_t b4 = (v>>24)&0xff; cout << b1 << b2 << b3 << endl; }
-
@RBS2 sagte in [Anfängerprobleme] Hex-Wert in char casten:
Vermutest du, oder kannst du beweisen?
Wozu soll ich irgendwas beweisen? Mit
uint32_t
irgendwas aliasen ist UB. Punkt.Und was dein letzter Codeschnippsel mit der Frage des Threads zu tun haben soll erschließt sich mir auch nicht.