C 中能否将一个字符串的一部分复制到另一个字符串上?但复制的开始索引不为零

标签 c string copy

例如,我有这个字符串:

ABABcct

我可以复制吗

ABc
begin index = 2, end index = 4 

...来自该字符串?

是否有任何特定的内置函数可以做到这一点?

我知道strncpy()可以将字符串中从开头开始的多个字符复制到另一个字符串上。但我不认为它能做到我刚才描述的那样。据我所知,它的“开始索引”限制为0。

最佳答案

实际上,您可以将函数 strncpy() 与指向字符串中任意位置的指针结合使用,而不仅仅是指向字符串开头的指针。

示例:

char *src = strdup("ABABcct");
char *dest;

strncpy(dest, src + 2, 3) // Copies 3 characters from your pointer src + 2 to your pointer dest

如果运行此代码,dest 将包含 ABc

关于C 中能否将一个字符串的一部分复制到另一个字符串上?但复制的开始索引不为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48229899/

相关文章:

Python 反转 UTF-8 字符串

linux - 显示不带小写字母的输出

java - Eclipse、java、复制代码

php - 如何从命令行同步 FTP 目录?

java - 使用 .clone() 复制属性

c - 试图找出我可以打开的最大进程数是多少

c - 在 32 位处理器 (ARM Cortex A9) 中使用 64 位数据的问题

c - 将返回指针传递给 C 中的另一个指针会导致垃圾或数据丢失?

c++ - 在无符号整数中使用标志号

iphone - 在 iPhone SDK 中使用字符串和变量