如果您不将原始字符串用于其他任何内容,则可以直接使用&s[4].如果您需要副本,请执行
char new_str[STR_SIZE + 1] = {0};
strncpy(new_str, &s[4], STR_SIZE);
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以使用头文件中的memcpy()功能string.h.
memcpy()在内存块之间复制数据字节,有时称为缓冲区.此函数不关心被复制的数据类型 - 它只是进行精确的逐字节复制.功能原型是
void *memcpy(void *dest, void *src, size_t count);
Run Code Online (Sandbox Code Playgroud)
参数dest和src分别指向目标和源内存块.count指定要复制的字节数.返回值为dest.
如果两个内存块重叠,则该函数可能无法正常运行 - src中的某些数据可能会在复制之前被覆盖.使用下面memmove()讨论的函数来处理重叠的内存块.memcpy()将在下面的程序中演示.
您还可以在此处找到这些功能的示例:http: //www.java-samples.com/showtutorial.php?tutorials = 591