![]() |
GNU C++ - char und uint8_t nicht das gleiche ?
Hallo,
ich habe den folgenden GCC C++ Code:
Code:
dies bringt mir korrekten Code/Image.
uint8_t ch = _wtoi(c);
qvc::QChar * qc = new qvc::QChar((uint8_t)'7'); if (qc->isDigit()) std::cout << "okay" << std::endl;
Code:
dies bring mir keinen korrekten Code/Image.
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 woran kann das liegen ? |
AW: GNU C++ - char und uint8_t nicht das gleiche ?
Einer davon kann Vorzeichen haben, der andere nicht.
![]() |
AW: GNU C++ - char und uint8_t nicht das gleiche ?
@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 ; } |
AW: GNU C++ - char und uint8_t nicht das gleiche ?
Das ist der Grund warum C/C++ Programme "Fehler" haben.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:09 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