哈哈!人的野心總是不能滿足!之前上資料結構,老師叫我們做三個字串串接,是用迴圈做的。我剛好有讀到關於指標陣列的東西,所以改用指標陣列來做。 過程十分順利,之後我又有更大的企圖心,如果要串接的字串數量是可以變化要怎做?就像printf那樣,所以我就去查資料啦!是利用到Stdarg.h中的,提供使用不定參數的函式,看完資料後就迅速完成,但這之中,我又耍笨了!一直以為我做錯,還跑去知識加發問。後面才發現是誤會一場,哈!完成的原始碼如下:
#include<stdio.h>

#include<stdlib.h>

#include<stdarg.h>



void cat(int amont,char [],...);

int main(void)

{

char strA[256];

char strB[256];

char strC[256];

char strD[256];

scanf("%s %s %s",strA,strB,strC);

cat(3,strD,strA,strB,strC);

printf("%s\n",strD);

system("PAUSE");

return 0;

}

void cat(int amount,char dest[],...)

{

char *ptr[amount];

va_list argptr;

va_start(argptr,amount);

int i,counter=0;

for (i=0;i<amount;i++)

{

ptr[i]=va_arg(argptr,char *);

while (*ptr[i]!='\0')

dest[counter++]=*(ptr[i]++);

}

dest[counter]='\0';

va_end(argptr);

}
文章標籤

jeff810123 發表在 痞客邦 留言(0) 人氣(114)