I wish to copy content of specific length from one buffer to another from a specific starting point. I checked memcpy() but it takes only the length of content
memcpy()
An index is not required because you can simply update the source pointer by the specified number of bytes. The following wrapper should do the trick
void* memcpy_index(void *s1, const void *s2, size_t index, size_t n) { s2 = ((char*)s2)+index; return memcpy(s1, s2,n); }