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

結構變數與 char buffer 變數互轉

答題得分者是:GeorgeKu
digitraveler
初階會員


發表:89
回覆:91
積分:46
註冊:2005-06-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-20 09:14:27 IP:211.21.xxx.xxx 未訂閱
請問 struct my_struct { char name[80], phone_number[80]; char address[100]; char note[40]; } my_friend; //總長度 300 char buff[300]; //總長度也是 300 我如何用一行指令將 my_friend 的資料塞到 buff 中 , 或反過來由 buff 塞到 my_friend 中 我試過 Move(), memcpy(), strncpy() 或是強制型別轉換都無效都無效 它說變數形態就是無法相互轉換 但我們都知道, 雖是結構, 它所有的成員也是是放在連續的記憶體中 為何不能一次整批丟到總長度相同的 buff 中 ?? 發表人 - digitraveler 於 2005/06/20 10:25:46
GeorgeKu
中階會員


發表:1
回覆:120
積分:74
註冊:2004-10-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-20 11:05:35 IP:61.228.xxx.xxx 未訂閱
digitraveler,    用下面的方式:
memcpy(buff,&my_friend,300);    memcpy(&my_friend,buff,sizeof(my_struct));
digitraveler
初階會員


發表:89
回覆:91
積分:46
註冊:2005-06-01

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-20 12:40:09 IP:211.21.xxx.xxx 未訂閱
對厚 ~ 我怎麼那麼笨 沒想到 buf 前面可加可不加 & (也就是說若參數型態是 char* 則輸入 buf 或 &buf 或 &buf[0] 意思一樣) 但結構前面可能必需一定要加 & (結構變數 跟 &結構變數 意義不同 ??) 發表人 - digitraveler 於 2005/06/20 12:47:23
GeorgeKu
中階會員


發表:1
回覆:120
積分:74
註冊:2004-10-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-20 13:15:40 IP:61.228.xxx.xxx 未訂閱
*是取值運算子,而&是取址運算子,從文章敘述上看來,你對*和&運算子並不是很熟悉,所以你應該去k一下書上的講解,如果還有疑問再把問題點po上來大家一起討論.
系統時間:2024-06-27 2:53:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!