【发布时间】:2012-02-09 15:55:53
【问题描述】:
我编写了一个自制的concat函数:
char * concat (char * str1, char * str2) {
for (int i=0; i<BUFSIZ; i++) {
if (str1[i]=='\0') {
for (int j=i; j<BUFSIZ; j++) {
if (str2[j-i]=='\0') return str1;
else str1[j]=str2[j-i];
}
}
}
}
现在如果我想连接两个以上的字符串,即 buf temp1 temp2, 我必须使用类似的东西:
strcpy(buf, concat(concat(buf,temp1),temp2));
请告诉我,有没有一种简单的方法可以修改我的函数以使其接受许多参数?
【问题讨论】:
-
C 还是 C++?这是高度相关的。
-
不简单,但你可以使用 var_args 类型输入。快门。
-
如果你知道一种适用于 C++ 但不适用于 C 的方法,它仍然很有趣......
-
@JakeBadlands:在真正的 C++ 程序中使用的绝大多数技术在 C 中都行不通。这两种语言是不同的语言;请说明您使用的是哪一个。
-
大声笑 - 这里还是早上,我还没有喝咖啡 :)