나는 내 자신의 문자열 복사 기능을 쓰고 있습니다. 다음 작품 :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
무엇이 오류입니까? 당신이 어딘가에 프로토 타입을 가지고 있지 않다면 mystringcopy는 아직 정의되지 않았다. –
오, 그저 나에게 세분화 오류를주는 ... 두 번째로 다른 해결책을 확인해 보겠습니다 ... – Legend