c++ 如何截取字符串的后几位

2025-03-30 15:07:49
推荐回答(2个)
回答1:

char *substrend(char * str, int n);

char substrend(char *str, int n)
{
char * substr = (char*) malloc (n+1);
int length = strlen(str);
if(n >= length)//若截取长度大于字符串长度,则直接截取全部字符串
{
strcpy(substr, str);
return substr;
}
int k = 0;
for(int i = strlen(str) - n - 1; i < strlen(str); i++)
{
substr[k++] = str[i];
}
substr[k] = '\0';
return substr;
}

回答2:

char *substring(char str[], int n) {
    char *strT = (char *)malloc(sizeof(char) * (n + 1));
   
    len = strlen(str);
    for (int i = 0; i < n; i++) {
        strT[i] = str[len - n + i]);
    }
    strT[i] = '\0';
    return strT;
}