我應該在C++中編寫一個庫來處理到kad網絡的連接。 我試圖建立一個符合aMule & co。字符數組的賦值和管理
我真的無法理解這樣的代碼之間的區別:和
buffer = "\xe4\x20\x02";
,例如,此代碼:
char p_buffer[36];
p_buffer[0] = 0xe4;
p_buffer[1] = 0x20;
p_buffer[2] = 0x02;
buffer = p_buffer;
(緩衝區是類的私有屬性,而p_buffer是一個局部變量)
捕獲與wireshark數據包給我不同的結果(第一個是正確的,因爲我想,第二個不是),就像我做錯了什麼wi日小端/大端符號,我猜...
,爲什麼在類的構造函數我不能修改[私人]「的char *緩衝區」是這樣的:
buffer[0] = 0xe4;
? (這是行不通的,退出沒有任何追溯錯誤)
(如果它能夠決定的事情,我使用的加密++和Boost庫)
先感謝您的任何help_
好的。問題在於「靜態」關鍵字。 非常感謝。 – 2009-08-12 07:39:16
不要只是在不知道它意味着什麼的情況下拋棄「靜態」 - 如果您有這個類,遞歸或多個線程的多個實例,最終可能會導致數據損壞,因爲您將共享相同的緩衝區在不止一個地方。我會給出更好的建議,但是對於您的計劃,您沒有具體的建議。 – bdonlan 2009-08-12 13:39:11