-4

说我的字符串是s="Computer". 如果我用 Java 编码,那么C=s.substring(1,3)将返回C="oup";.

C中是否有一个内置的类函数可以精确地做到这一点?请不要使用指针。

4

2 回答 2

1

如果不使用指针,我看不到任何方法。使用指针:

#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);
}
于 2013-09-20T17:27:48.517 回答
0

尝试:

char dest[N];
snprintf(dest, sizeof dest, "%.*s", len, src+start);

请注意,如果您只想打印结果,则不需要空间来存储结果字符串。做就是了:

printf("%.*s", len, src+start);
于 2013-09-20T17:40:00.340 回答