PDA

View Full Version : سوال: بازسازی توابعstrcpy و strcat



hafez1
پنج شنبه 21 اردیبهشت 1391, 23:47 عصر
چگونه توابع strcopy و strcat را بازسازی می کنند؟؟؟؟؟
اصلا بازسازی این توابع ینی چی؟؟؟؟؟:متفکر:

ASGGSA
جمعه 22 اردیبهشت 1391, 01:05 صبح
سلام.
همانطور که از اسمش پیدا هست یعنی تابع را خودتان بسازید.
حالا برای بازسازی strcpy :

char *strcpy(char *strDestination, const char *strSource)
{
int i;
for(i = 0; *(strSource + i); i++)
*(strDestination + i) = *(strSource + i);
*(strDestination + i) = NULL;
return strDestination;
}

و برای strcat :

char *strcat(char *strDestination, const char *strSource)
{
int i, j;
for(i = 0; *(strDestination + i); i++);
for(j = 0; *(strSource + j); j++)
*(strDestination + i + j) = *(strSource + j);
*(strDestination + i + j) = NULL;
return strDestination;
}

hafez1
جمعه 22 اردیبهشت 1391, 11:43 صبح
ببخشید این شرطی که تو حلقه for نوشتید :
*(strSource + i) ینی چی؟؟؟؟؟؟؟؟

ASGGSA
جمعه 22 اردیبهشت 1391, 12:42 عصر
سلام در این شرط وقتی در حلقه به کاراکتر NULL برسه حلقه متوقف میشه چون کاراکتر NULL مقدار نادرستی داره نیازی به نوشتن به شکل زیر نیست :

*(strSource + i) != NULL