У меня проблема с пониманием strlen
и/или memcpy
. Это фрагмент кода:Strlen вызывает segfault
char * restP;
char * str;
//this returns a pointer
restP = strrstr (input_buffer, "pointer");
//this prints this pointer
printf("%p\n", restP);
str = malloc(50000);
//this is wrong, restP is a pointer to a sring; i can print it with printf("%s", restP); it just a part of input_buffer
memcpy(restP, str, strlen(restP)-1);
StrLen (restP) дает мне ошибку - segmentation fault.
Может кто-то может дать мне ключ, что я делаю неправильно.
Вы уверены, что это 'strlen', а не' memcpy'? – dreamlax
У вас есть первые 2 аргумента memcpy, которые были отменены –
Вы не выделили память для переменной restP. –