سلام،
تابع MyConCate به تعداد نامشخص پارامتر از نوع رشته ميگيره و كارش الحاق اين رشته هاست. پارامتر اول رشته ايه كه رشته ي ملحق شده توي اون قرار ميگيره. پارامتر آخر هم NULL است.
void MyConCate(char [], ...);
int _tmain(int argc, _TCHAR* argv[])
{
char Str[200];
MyConCate(Str, "String1 ", "String2 ", "String3", NULL);
return 0;
}
void MyConCate(char Str[200], ...)
{
char *ptrStack = &Str[99];
int i = 0;
ptrStack++;
while(*ptrStack != NULL)
{
Str[i] = *ptrStack;
ptrStack++;
i++;
}
Str[i] = NULL;
}
مشكل اينه كه پارامترها پشت سر هم در استك قرار نميگيرند. براي همين نميشه به اونها دسترسي داشت.