我寫我自己的字符串複製功能。以下作品:C:缺少一些邏輯與指針的東西
char *src, *dest;
src = (char *) malloc(BUFFSIZE);
//Do something to fill the src
dest = (char *) malloc(strlen(src) + 1);
mystringcpy(src, dest);
void mystringcopy(char *src, char *dest) {
for(; (*dest = *src) != '\0'; ++src, +dest);
}
但是,這並不工作:
char *src, *dest;
src = (char *) malloc(BUFFSIZE);
//Do something to fill the src
mystringcpy(src, strlen(src), dest);
void mystringcopy(char *src, size_t length, char *dest) {
dest = (char *)malloc(length + 1);
for(; (*dest = *src) != '\0'; ++src, +dest);
}
,我不明白爲什麼...是一個調用的函數內部分配內存的錯誤呢?
* * src =(char *)malloc(BUFFSIZE);'不應該有一個前導'*'。 – spoulson 2010-01-29 19:18:48
什麼是錯誤?除此之外,mystringcopy還沒有定義,除非你有一個原型。 – 2010-01-29 19:19:38
哦,它只是給我一個分段錯誤......我會在第二個檢查其他解決方案... – Legend 2010-01-29 19:23:09