想问一下,这个程序中mytrim函数中的p有什么意义?delete那一句又是什么意思?我的代码应该再怎么做才能实现目的?

任务描述
本关任务:编写一个函数,用于读取输入并清除最前面的空格字符,并记下来空格字符有多少。

编程要求:请实现函数char my_trim(int count),由该函数接受输入,并返回将去掉空格字符后的字符串;
此外,要将count的值设置为找到的空格字符的数量。

Hint:C语言中“空格”可能是多种字符(请学习isspace函数),任意一种“空格”都只算一个字符

测试说明
平台会对你编写的代码进行测试,输入长度为0到40000。
用于测试的main函数如下,注意:main函数会试图为你释放返回的字符串(因此本题也就无法使用预先分配好的全局变量等静态方法)

int main()
{
    int count;
    char* ret = my_trim(&count);
    cout << ret;
    delete[] (ret - count);
    return 0;
}

测试输入: Busy days;
预期输出:
Busy days
(count要设置为4)

测试输入: ;
预期输出:
(count要设置为5)

#include <cctype>
#include <iostream>
#include <cstring>
using namespace std;
char* my_trim(int* count)
{
    char* p;
    p = new char[4000];
    cin.getline(p, 4000);
    
}

int main()
{
    int count;
    char* ret = my_trim(&count);
    cout << ret;
    delete[](ret - count);
    return 0;
}