全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1083
推到 Plurk!
推到 Facebook!

TMemoryStream如何與byte陣列 來做 運算

尚未結案
esbcc
一般會員


發表:18
回覆:17
積分:7
註冊:2005-02-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-27 20:08:05 IP:61.219.xxx.xxx 未訂閱
TMemoryStream *string1=new TMemoryStream; 如果這個string1的內容是4個byte,要如何與byte test=[0x4c,0x5d,0x6e,0x7f]; 來做XOR運算. 也就是說 result[0]=*(string1 1) XOR 0x4c; result[1]=*(string1 2) XOR 0x5d; result[2]=*(string1 3) XOR 0x6e; result[3]=*(string1 4) XOR 0x7f; 請高手指點
wyndog
資深會員


發表:7
回覆:362
積分:348
註冊:2004-10-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-27 22:14:49 IP:61.62.xxx.xxx 未訂閱
直接拿來運算是不太可能啦 還是得先讀出來放到 byte[] 去再做 XOR 像這樣:
byte value[4];    string1->Read(value, 4);
value[0] = value[0] ^ 0x4C;
.....
liangnet
中階會員


發表:19
回覆:148
積分:83
註冊:2004-01-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-28 09:53:15 IP:211.20.xxx.xxx 未訂閱
你好!你可以試試下列寫法
TMemoryStream *string1 = new TMemoryStream;
char *ptr = (char *)string1->Memory;    ptr[0] = ptr[0] XOR 0x4c;
ptr[1] = ptr[1] XOR 0x5d;
ptr[2] = ptr[2] XOR 0x6e;
ptr[3] = ptr[3] XOR 0x7f;
上面這四行寫法,會將運算完後的資料再回存到string1 發表人 - liangnet 於 2005/03/28 09:54:03
apc
一般會員


發表:29
回覆:36
積分:13
註冊:2005-01-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-28 14:49:35 IP:61.219.xxx.xxx 未訂閱
謝謝兩位大大的回答,多可行.reptile大大先回答 這題就給了reptile大大.
系統時間:2024-05-19 17:46:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!