我已經寫了這個函數,用於從右到右傳輸從源字符串到目標字符串的字符數。我傳遞字符串到src,NULL到dst和計數值功能函數用於將字符串中的字符數從右到左傳輸到目標字符串
如果我發送輸入字符串作爲「堆棧溢出」,並計爲4我想o/p字符串作爲「流量」。但是在這裏,我的o/p字符串總是空的,可以用我的邏輯告訴我什麼是錯的。請
char *Rprint(const char *src, char *dst, int count)
{
int i = 0;
char *ret = NULL;
while(*src!= '\0')
src++;
dst = malloc(sizeof(char) * (count + 1));
ret = dst;
dst = dst + (count + 1);
while(count)
{
*dst++ = *src--;
count--;
}
*dst++ = '\0';
//return ret;
printf("String:%s \n", ret);
}
您設置了'dst'一個超過alloc'd緩衝區的末尾,然後遞增...!這是不好的... – 2013-03-08 01:29:00