用于 C 的类似 PHP 的子字符串函数


PHP-like Substring Function for C

我一直在努力用C语言创建字符串(char*(操作函数,我最新的一个是类似PHP的子字符串函数。我正在发布,以便其他人可以从中受益,如果有任何改进功能的建议,我将不胜感激。

这是 C 语言中的 PHP 子字符串函数。

char *substr(char *str, int start, int num)
{
    //find string length
    int len = sj_strlen(str);
    char *result;
    //Return "" if start is longer than str
    if(start > len || (start*-1) > len)
    {
        result = malloc(1);
        *result = ''0';
        return result;
    }
    //Setting pointer to appropriate position
    if(start >= 0)
    {
        str += start;
    }
    else
    {
        str += (len+start);
    }
    //Allocate space for returned substring
    result = malloc(num+1);
    char *ptr = result;
    //Adding characters to the result
    while(num > 0 && *str)
    {
        *ptr++ = *str++;
        num--;
    }
    //Terminating character
    *ptr = ''0';
    return result;
}
int main()
{
    char *str = "Hello, world!";
    printf("%s'n",substr(str,-10,2)); //outputs lo
   printf("%s",substr(str,7,5)); //outputs world
}