如何用C语言实现一个字符串的截取

2025-03-24 16:21:32
推荐回答(2个)
回答(1):

char* SubStr(const char* p, char* pend, int pos, int end = 0)//end参数是为了判断是否截取一段
{
 int j = 0;
 int len = strlen(p);
 if (pos > len || pos < 0)
  return 0;
 if (end == 0)
 {
  for (int i = pos; i < len; i++)
  {
   pend[j] = p[i];
   j++;
  }
 }
 else
 {
  if (end > len || end < 0 || end < pos)
   return 0;
  for (int i = pos; i < end; i++)
  {
   pend[j] = p[i];
   j++;
  }
 }
 pend[j + 1] = '\0';
 return pend;
}
int main()
{
 char p[20];
 memset(p, 0, sizeof(p));
 SubStr("helloworld", p, 5);
 printf(p);
    return 0;
}

回答(2):

传递进去一个字符串,起始字符的位置,以及截取的长度