함수에서 char *를 전달하고 cstring 값으로 설정해야합니다. 제대로 함수에서 문자열로 설정할 수 있지만 첫 번째 장소에서 char * 함수를 호출 한 함수에서 제대로 인쇄 할 것지 않습니다.Char * (포인터) 함수
int l2_read(char *chunk,int length)
{
chunk = malloc(sizeof(char) * length);
int i;
for(i = 0; i < length; i++){
char c;
if(read(&c) < 0) return (-1); // this gets a single character
chunk[i] = c;
}
printf("%s",chunk); // this prints fine
return 1;
}
// main
char *string;
int value = l2_read(string,16);
printf("%s",chunk); // prints wrong
이 숙제가 있습니까? 그리고 당신은 read()를 올바르게 호출하지 않습니다. –
문자열 길이를 측정하는 경우'int' 유형 대신'size_t' 유형을 사용해야합니다. –