字符串颠倒顺序(用指针和函数)

#C语言
#给定一个字符串 s(下标从0开始)和自然数 m ,将字符串的第 m 到 m+5 的6个字符顺序颠倒。若 m已经大于字符串的长度,则输出Error:Out of length,若 m 小于等于字符串的长度但 m+5 已经大于字符串的长度,则将从 m 到字符串结尾的字符顺序颠倒。
#额外要求:字符串操作使用指针实现,翻转过程需定义独立函数实现
#输入包含两行,第一行为字符串 s ,第二行为一个正整数 m
#输出为一行字符串,表示翻转后的结果
#字符串 s 的长度 n 满足1<=n<=30,字符串由字符a到z,A到Z,0到9以及空格组成,正整数 m 满足1<=m<=10^9

可以简单的提供一个思路,需要你自己去完善
例如我去翻转一个字符串abcdef,
那么将一个指针str指向a,将a的值保存到temp中,将f的值定为"\0",if strlen(str+1)大于等于2,则return str+1,使用递归来实现翻转
当翻转到只剩cd时,就已经到了创建的最后一个站桢,从最后一个站桢开始返回,将每一个temp赋值给d,e,f,也就实现了整个字符串的翻转