C语言 编写一个函数,它从一个字符串中提取一个子字符串

编写一个函数,它从一个字符串中提取一个子字符串。函数原型如下:

int substr(char dst[], char src[],intstart, int len) {}

目标:

       从src数组起始位置向后偏移start个字符的位置开始,最多复制len个非NUL字符到dst数组。在复制完毕之后,dst数组必须以NUL字节结尾。函数的返回值是存储于dst数组中的字符串的长度。

注意:

函数的声明与调用;

空字符即为 \0;

#include 
int substr(char dst[], char src[],int start, int len)
{
    int i;
    for(i=0;i

C语言 编写一个函数,它从一个字符串中提取一个子字符串_第1张图片



上面的程序有一个问题就是如果给定赋值的个数超出了整个长度,虽然字符串输出是正确的,但是输出的字符串的个数却超了。所以我们给它加上一个判断来看所给的值是否超过了本身剩下的字符串的长度;

#include 
int substr(char dst[], char src[],int start, int len)
{
	char *ps = src + start;     
	int n = strlen(ps);         //定义一个指针来求字符串长度
	
	int i = 0;
	
	if(n

C语言 编写一个函数,它从一个字符串中提取一个子字符串_第2张图片









你可能感兴趣的:(C语言 编写一个函数,它从一个字符串中提取一个子字符串)