c语言如何截取字符串的一部分

Python016

c语言如何截取字符串的一部分,第1张

用strncpy函数,函数签名

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)

}