Bitte schauen Sie sich die folgende Header-Datei an
%Vor%Dies hat den Fehler
erzeugt %Vor%Ich habe es auf diese Weise versucht
%Vor%aber es hat auch versagt, der selbe Fehler. Allerdings habe ich bemerkt, dass ich auf diese Weise andere eingebaute Ty-Arrays aufrufen kann, zum Beispiel ein int-Array. Warum passiert das mit dem Byte-Array? Wie löst man das? Ich möchte die Werte in cpp-Datei zuweisen. Irgendwelche Ideen?
Versuchen Sie
%Vor%oder
%Vor% ** Hinweis: Ersetzen Sie in älteren Compilern (nicht C ++ 11) die Zeile using
durch typedef unsigned char byte;
Wenn Sie genau ein Byte haben möchten, wäre uint8_t in cstdint am aussagekräftigsten.
Vielleicht können Sie den in C ++ 11 verfügbaren std::bitset
-Typ nutzen. Es kann verwendet werden, um eine feste Sequenz von N
Bits darzustellen, die durch herkömmliche Logik manipuliert werden kann.
Kompilieren mit gcc 4.7.2
%Vor%Ich bekomme:
%Vor%Byte ist kein Standarddatentyp in C / C ++, aber es kann immer noch so verwendet werden, wie Sie es wollen. Hier ist wie: Denken Sie daran, dass ein Byte eine Speichergröße von acht Bit ist, die eine der ganzen Zahlen zwischen -128 und einschließlich 127 darstellen kann. (Es gibt 256 ganze Zahlen in diesem Bereich; acht Bits können 256 darstellen - zwei erhöht auf die Potenz acht - verschiedene Werte.). Beachten Sie auch, dass ein Zeichen in C / C ++ ein Byte (acht Bits) ist. Alles, was Sie tun müssen, um einen Byte-Datentyp in C / C ++ zu haben, ist, diesen Code an die Spitze Ihrer Quelldatei zu setzen: #define byte char So können Sie jetzt deklarieren Byte abc [3];
Sie könnten Qt benutzen, was, falls Sie nicht wissen, C ++ mit einer Menge zusätzlicher Bibliotheken und Klassen und was nicht ist. Qt hat eine sehr praktische QByteArray-Klasse, von der ich mir sicher bin, dass sie Ihren Bedürfnissen entspricht.
Byte ist kein Standardtyp in C / C ++, daher wird es durch char
dargestellt.
Ein Vorteil davon ist, dass Sie basic_string
als Byte-Array behandeln können, um eine sichere Speicherung und Funktionsübergabe zu ermöglichen. Dies wird Ihnen helfen, Speicherlecks und Segmentierungsfehler zu vermeiden, die auftreten können, wenn Sie die verschiedenen Formen von char[]
und char*
verwenden.
Beispielsweise wird dadurch eine Zeichenfolge als Byte-Array mit Nullwerten erstellt:
%Vor% Dies ermöglicht standardmäßige bitweise Operationen mit anderen char
-Werten, einschließlich derer, die in anderen string
Variablen gespeichert sind. Um beispielsweise die char
-Werte eines anderen u_string
über bytes
zu XOR zu setzen:
Tags und Links arrays c++ visual-studio-2010 byte