線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:815
推到 Plurk!
推到 Facebook!

資料的轉換

尚未結案
enu
中階會員


發表:36
回覆:93
積分:55
註冊:2003-10-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-02 11:23:22 IP:163.27.xxx.xxx 未訂閱
問題描述: 讀取一筆資料如下:01 16 01 01 01 15 01 16,其中每四個字元表示一個字,例如01 16即為116(十進制),若轉換成十六進制為74(ascii),代表「t」。 請問:如何將01 16 01 01 01 15 01 16這樣的資料讀進來,然後轉成字串輸出呢? 看了許多相關的文章,頭腦轉來轉去還是轉不出來,懇請諸位先進指導一下。感激不儘!
liangnet
中階會員


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-02 12:54:39 IP:218.163.xxx.xxx 未訂閱
引言: 問題描述: 讀取一筆資料如下:01 16 01 01 01 15 01 16,其中每四個字元表示一個字,例如01 16即為116(十進制),若轉換成十六進制為74(ascii),代表「t」。 請問:如何將01 16 01 01 01 15 01 16這樣的資料讀進來,然後轉成字串輸出呢? 看了許多相關的文章,頭腦轉來轉去還是轉不出來,懇請諸位先進指導一下。感激不儘!
enu你好:
AnsiString D = "0116010101150116";
AnsiString ASCII = "";
int C = 0;
for (int i = 0; i < D.Length(); i  = 4)
{
 c = D.SubString(i,4).ToIntDef(0);
 ASCII  = (char)C;
}
 
發表人 - liangnet 於 2004/04/02 12:56:08
enu
中階會員


發表:36
回覆:93
積分:55
註冊:2003-10-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-02 15:57:19 IP:163.27.xxx.xxx 未訂閱
謝謝liangnet的幫忙,但是現在資料的型式是兩個兩個一組,例如01 16 01 01 01 15 01 16,而不是0116010101150116,而且小弟在程式中加入ShowMessage發現該程式好像因為前面有0而產生誤判了。但還是感謝您!謝謝!    AnsiString D = "0116010101150116"; AnsiString ASCII = ""; int C = 0; for (int i = 0; i < D.Length(); i += 4) {  c = D.SubString(i,4).ToIntDef(0); ShowMessage(c); ASCII = (char)C; }
liangnet
中階會員


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-04-02 18:06:25 IP:218.163.xxx.xxx 未訂閱
那請問你二個一組是說"01" "16" 這樣嗎?? 如果是這樣,那就二個字串相加就變成"0116" 程式稍為改改就可以達到你要的二個一組了。 轉換為0時,你可以加入判斷是否為0,然後改填入其它(如0x20)之類的。 或者改用char[]陣列來存放資料。
g6101
高階會員


發表:22
回覆:129
積分:110
註冊:2002-06-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-04-09 07:18:15 IP:61.226.xxx.xxx 未訂閱
enu您好: 請參考以下程式碼

   char *p = "01 16 01 01 01 15 01 16";
   char temp[5];
   char *buf;
   int len = strlen(p),k=0;
   buf = new char[len/6+2];       for (int i=0,j=0;iText = buf;
   delete []buf;    
希望對你有幫助
enu
中階會員


發表:36
回覆:93
積分:55
註冊:2003-10-22

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-04-09 11:37:28 IP:163.27.xxx.xxx 未訂閱
感恩感恩! 謝謝各位! 但因為是從g6101先生po的程式中修改出來, 分數只好給g6101先生了。 也感謝liangnet先生。
系統時間:2024-05-18 14:47:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!