Ich soll eine Bibliothek in C++ schreiben, die die Verbindungen mit dem KAD-Netzwerk behandeln sollte. Ich versuche ein Paket zu erstellen, das den von aMule & co.Char Array Zuweisung und Verwaltung
Und ich kann wirklich nicht verstehen den Unterschied zwischen diesem Code:
buffer = "\xe4\x20\x02";
und zum Beispiel diesen Code:
char p_buffer[36];
p_buffer[0] = 0xe4;
p_buffer[1] = 0x20;
p_buffer[2] = 0x02;
buffer = p_buffer;
(Puffer ist ein privates Attribut der Klasse, während p_buffer ist eine lokale Variable)
das Erfassen der Pakete mit wireshark gibt mir andere Ergebnisse (der erste ist richtig, wie ich wollte, der zweite nicht), als ob ich etwas falsches wi tat th Little Endian/Big-Endian-Notationen, denke ich ...
und warum in den Konstruktor einer Klasse kann ich eine [Private] "char * buffer" wie diese nicht ändern:
buffer[0] = 0xe4;
? (Es funktioniert nicht, tritt ohne jede Spur zurück Fehler)
(wenn es eine Rolle, kann ich bin mit Crypto ++ und Boost-Bibliotheken)
Dank im Voraus für jeden help_
ok. Die Frage war in diesem "statischen" Schlüsselwort. vielen Dank. –
Fügen Sie nicht einfach "statisch" ein, ohne zu wissen, was es bedeutet - wenn Sie mehrere Instanzen dieser Klasse, Rekursion oder mehrere Threads haben, werden Sie wahrscheinlich mit Datenverfälschung enden, weil Sie den gleichen Puffer teilen an mehr als einem Ort. Ich würde Ihnen bessere Ratschläge geben, aber Sie waren zu unspezifisch bezüglich Ihres Programms, um konkrete Vorschläge zu machen. – bdonlan