char * strncpy(char *dest, const char *src, size_t n)
比如要是从src第2个字符开始截取3个字符,可以用
strncpy(dest, src + 2 - 1, 3)
如果允许使用库函数,那么实际这个非常简单:
#include <string.h>#include <stdio.h>
void parse_str(char *str)
{
char *s = NULL, *p
if(str[0] != 's' || str[1] != '!')
return
s=strdup(str+2)
p = strtok(s, ":")
while(p)
{
printf("%s\n", p)
p = strtok(NULL, ":")
}
free(s)
}
这个原型声明没有问题,传递进去一个字符串,起始字符的位置,以及截取的长度。按照这个意思
来写最后是没有问题的。返回值为字符型指针可以在这个函数里面声明一个字符数组,最后将这个
字符数组返回。
#include "stdio.h"
#include "string.h"
main()
{
char* p ="abcdefg"
int len = strlen(p)
char* t = &p[len-1]
printf("%c\n",*t)
}