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

複製字元字串

尚未結案
d5d51424
一般會員


發表:5
回覆:6
積分:2
註冊:2004-09-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-16 14:29:55 IP:61.229.xxx.xxx 未訂閱
我是利用vc++編譯,我要寫一個功能與strcpy相同的函式,但是不能引入
   
,在str2的地方我不會處理,我的程式如下
#include 
using namespace std;    char *mystrcpy(char *dest,char *src)
{
     
   return src;
   
}
int main()
{
        char *str1="hello c/c  ";
        char str2[]="";
        char *str3;
        cout<<"str1 is "<    希望執行結果為
str1 is hello c/c  
str1 is hello c/c  
str1 is hello c/c          發表人 - d5d51424 於 2005/07/16  22:10:40
        
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-16 15:12:27 IP:211.22.xxx.xxx 未訂閱
#include 
#include 
using namespace std;    void mystrcpy(char *dest,char *src)
{
 while (*src)
        *dest   = *src  ;
}    int main()
{
 char *str1="hello c/c  ";
 char str2[sizeof(str1) 1];
 char *str3;     cout<<"str1 is "<    -------------------
學,然後知不足。
        
hobolin
初階會員


發表:0
回覆:25
積分:25
註冊:2005-07-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-07-16 15:18:02 IP:202.145.xxx.xxx 未訂閱
//--------------------------------------------------------------------
#include 
#pragma hdrstop
using namespace std;    char *mystrcpy(char *dest,char *src)
{
   if (*src == '\0')
   {
       *dest = '\0';
       return dest;
   }
   char *p = src;
   int CurrPos = 0;
   for (;;)
   {
       dest[CurrPos  ] = *p;
       if (*(  p) == '\0') break;
   }
   dest[  CurrPos] = '\0';     
   return dest;
}
int main(int argc, char* argv[])
{
        char *str1="hello c/c  ";
        //char str2[]="";
         // str2 should be a char array.
        char str2[100];            char *str3;
        cout<<"str1 is "<    發表人 - hobolin 於 2005/07/16  15:32:28    發表人 - hobolin 於 2005/07/16  15:35:20
        
d5d51424
一般會員


發表:5
回覆:6
積分:2
註冊:2004-09-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-07-16 21:35:40 IP:220.139.xxx.xxx 未訂閱
引言: [code] void mystrcpy(char *dest,char *src) { while (*src) *dest = *src ; }
這邊我看不懂,請你說明一下好嗎 以上是我個人淺見,請你參考看看
d5d51424
一般會員


發表:5
回覆:6
積分:2
註冊:2004-09-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-07-16 22:23:30 IP:220.139.xxx.xxx 未訂閱
[quote]
//--------------------------------------------------------------------    #pragma hdrstop
using namespace std;    char *mystrcpy(char *dest,char *src)
{
   if (*src == '\0')
   {
       *dest = '\0';
       return dest;
   }
   char *p = src;
   int CurrPos = 0;
   for (;;)
   {
       dest[CurrPos  ] = *p;
       if (*(  p) == '\0') break;
   }
   dest[  CurrPos] = '\0';     
   return dest;
}     
以上內容我看不懂,#pragma hdrstop這個我不曉得有什麼功用,請交我ㄧ下, 或者哪邊有交學的連結。 ------------------------ 以上是我個人淺見,請你參考看看
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-07-16 23:20:36 IP:211.22.xxx.xxx 未訂閱
引言:
//--------------------------------------------------------------------    #pragma hdrstop
using namespace std;    char *mystrcpy(char *dest,char *src)
{
   if (*src == '\0')
   {
       *dest = '\0';
       return dest;
   }
   char *p = src;
   int CurrPos = 0;
   for (;;)
   {
       dest[CurrPos  ] = *p;
       if (*(  p) == '\0') break;
   }
   dest[  CurrPos] = '\0';     
   return dest;
}
以上內容我看不懂,#pragma hdrstop這個我不曉得有什麼功用,請交我ㄧ下, 或者哪邊有交學的連結。 ------------------------ 以上是我個人淺見,請你參考看看
1.#pragma開頭的編譯指引每家COMIPLER多少有不同,以此例言,是只有效的標頭檔到這行為止。詳細用法要查你使用的COMPILER線上說明。 2.以你本例解說,既然被呼叫的函數參數已經傳入的指標指向來源與目的的位址,又何必傳回指標呢?因為在被呼叫的函數內已經可以直接改變目的內容了,不是嗎? class="code"> void mystrcpy(char *dest,char *src) { while (*src) *dest = *src ; } 意思是說先測試src的內容是不是NULL,如果不是將src目前位址上的值指定給dest,然後將src及dest分別往前指向下一個位址,一直到位址中的值是NULL就停止。 ------------------- 學,然後知不足。 發表人 - stallion 於 2005/07/16 23:33:15
hobolin
初階會員


發表:0
回覆:25
積分:25
註冊:2005-07-03

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-07-17 08:33:23 IP:202.145.xxx.xxx 未訂閱
回 pointer 意義是不大,只是原問題是要一個類似 strcpy 的 function 所以才會這樣回。
d5d51424
一般會員


發表:5
回覆:6
積分:2
註冊:2004-09-02

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-07-17 14:29:35 IP:61.229.xxx.xxx 未訂閱
感謝你們的教學分享 ------------------------ 以上是我個人淺見,請你參考看看
系統時間:2024-05-19 1:04:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!