切出一段字符串

Tyl*_*ler 4 c string pointers

我不介意编写自己的函数来做这个,但我想知道string.h中是否存在一个或者是否有标准方法来执行此操作.

char *string = "This is a string";

strcut(string, 4, 7);

printf("%s", string); // 'This a string'
Run Code Online (Sandbox Code Playgroud)

谢谢!

sha*_*oth 7

使用memmove移动尾部,然后将'\ 0'放在新的结束位置.注意不要使用memcpy - 在这种情况下它的行为是未定义的,因为源和目标通常重叠.