说我的字符串是s="Computer"
. 如果我用 Java 编码,那么C=s.substring(1,3)
将返回C="oup";
.
C中是否有一个内置的类函数可以精确地做到这一点?请不要使用指针。
如果不使用指针,我看不到任何方法。使用指针:
#include <stdio.h>
#include <string.h>
int main() {
char *s="Computer";
char sub[20];
strncpy(sub, s+1, 3);
printf("%s\n%s", s, sub);
}
尝试:
char dest[N];
snprintf(dest, sizeof dest, "%.*s", len, src+start);
请注意,如果您只想打印结果,则不需要空间来存储结果字符串。做就是了:
printf("%.*s", len, src+start);