我需要在函数中传入char*并将其设置为cstring值.我可以在函数中将其正确设置为字符串,但它似乎在首先调用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
Run Code Online (Sandbox Code Playgroud)