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

請問return傳回值問題

尚未結案
opium
一般會員


發表:22
回覆:11
積分:6
註冊:2003-02-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-19 11:29:49 IP:218.162.xxx.xxx 未訂閱
請問各位大大 我傳一陣列到函數裡做字串分解的動作 分解完後需傳回二個分解後的字串 假設return(a,b); 那我要如何讀取回傳後的二值呢? 因為我只有收到一個值 希望各位大大指導 先謝謝了
arisaka_matsuri
高階會員


發表:25
回覆:205
積分:231
註冊:2003-10-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-19 12:22:39 IP:140.113.xxx.xxx 未訂閱
海星
高階會員


發表:41
回覆:217
積分:106
註冊:2003-01-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-19 19:32:39 IP:59.104.xxx.xxx 未訂閱
用 C 的 strtok 函數就可以達成你的分解字串要求了,要怎樣分解就怎樣分解,根本就不需額外再乎叫一次副函數,不過為了展示你想要的功能,用副函 數一次傳回兩個變數,所以脫褲子放屁,多呼叫了一次 test(), 以下的程式碼範例,會以空白當成分解的因子,Label1會顯示 John, Label2會顯示 love, 要注意的一點是 b,c 配置的記憶體空間要足夠(看你的字串多長,字串長度+1 就夠了),不然你的系統會不穩定,當然也可以用動態配置方式,這裡就懶一點用很大的記憶體靜態配置了。     
 
#include 
//---------------------------------------------------------------------------
void test( char *a, char *b, char *c)
{
    strcpy( b, strtok( a, " " ) );
    strcpy( c,  strtok( NULL, " " ) );
}    //---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    char a[1000],b[1000],c[1000];        strcpy( a, "John love Money" );
    test( a, b, c);        Label1->Caption = b;
    Label2->Caption = c;
}
系統時間:2024-05-19 19:11:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!