我正在尝试在 C 中实现一个子字符串函数。这是我到目前为止所拥有的:
char *substring(const char* str, int beg, int n)
{
char *ret = malloc(n+1);
strncpy(ret, (str + beg), n);
*(ret+n) = '\n';
return ret;
}
但是,当我有这个主要功能时:
int main()
{
char *a = "thisisalongstring";
char *c;
c = substring(a, 2, 5);
printf("%s", c);
return 0;
}
输出是:
isisa
<random characters>
任何帮助调试代码?