Java String.h中是否有返回子字符串的内置函数?
假设我的字符串是Java String.h中是否有返回子字符串的内置函数?,java,c,string,substring,Java,C,String,Substring,假设我的字符串是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);
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);
}
#包括
#包括
int main(){
char*s=“计算机”;
char-sub[20];
strncpy(sub,s+1,3);
printf(“%s\n%s”,s,sub);
}
试试:
请注意,如果只想打印结果,则不需要空间来存储结果字符串。只要做:
printf("%.*s", len, src+start);
它不会返回oup
。在C中,没有指针的字符串实际上是一种矛盾修饰法代码>@GrijeshChauhan,但该函数将返回指针,OP不想使用指针!(讽刺)“内置类函数”-不要尝试像Java一样使用C。这是行不通的。像学习一门新语言一样学习它,然后你可能会有所收获。这只是示例代码。理想情况下,如果我们要编写一个子字符串函数代码,它应该将length
字节分配给sub。
printf("%.*s", len, src+start);