AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein GNU C++ - char und uint8_t nicht das gleiche ?
Thema durchsuchen
Ansicht
Themen-Optionen

GNU C++ - char und uint8_t nicht das gleiche ?

Ein Thema von paule32.jk · begonnen am 30. Aug 2024 · letzter Beitrag vom 31. Aug 2024
Antwort Antwort
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
 
Delphi 11 Alexandria
 
#1

GNU C++ - char und uint8_t nicht das gleiche ?

  Alt 30. Aug 2024, 20:56
Hallo,
ich habe den folgenden GCC C++ Code:
Code:
uint8_t ch = _wtoi(c);
qvc::QChar * qc = new qvc::QChar((uint8_t)'7');

if (qc->isDigit())
std::cout << "okay" << std::endl;
dies bringt mir korrekten Code/Image.
Code:
uint8_t ch = _wtoi(c);
qvc::QChar * qc = new qvc::QChar((uint8_t)ch);

if (qc->isDigit())
std::cout << "okay" << std::endl; // wird nicht erreicht
dies bring mir keinen korrekten Code/Image.
woran kann das liegen ?
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#2

AW: GNU C++ - char und uint8_t nicht das gleiche ?

  Alt 31. Aug 2024, 13:23
Einer davon kann Vorzeichen haben, der andere nicht.
https://os.mbed.com/users/fpucher/co...iki/Datentypen
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: GNU C++ - char und uint8_t nicht das gleiche ?

  Alt 31. Aug 2024, 13:49
@Sherlock:

Danke für Deinen Link.
Ich habe es inzwischen lösen können (mit memcpy) - vielleicht etwas umständlich, aber für mich okay.

Code:
if (value == symbolTypeEnum::stQChar_AnsiChar) {
    wchar_t * c = new wchar_t[16];
    wcscpy(c, reinterpret_cast<wchar_t*>(addr));
    uint8_t ch = (uint8_t)_wtoi(c);
    char * buffer = new char[4];
    sprintf(buffer, "%d", ch);
    memcpy(&ch, buffer, sizeof(uint8_t));
    delete buffer;
    delete c;
    qvc::QChar* qc = new qvc::QChar((uint8_t)ch);
    uint64_t   qu = reinterpret_cast<uint64_t>((void*)qc);
    current_ptr   = qu;
    return current_ptr ;
}
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#4

AW: GNU C++ - char und uint8_t nicht das gleiche ?

  Alt 31. Aug 2024, 20:09
Das ist der Grund warum C/C++ Programme "Fehler" haben.
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz