例题理解(12)--C语言--strlen(长度)--strcpy(复制)

字符串函数

关于字符串有好多常用的函数需要我们理解,掌握这些对于我们对于字符串的利用有着很大的帮助,一起来看看吧!

strlen函数

主要是求字符串的长度,代码简单,也好理解,直接从例题进行理解.
如下面例题:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include <assert.h>
//====strlen函数实例(长度)
int strlen(const char * str){		//定义函数
	if (*str == '\0')				//当检索到的为\0时,输出0
		return 0;
	else
		return 1 + strlen(str + 1);	//如果不是,则循环调用函数,并且每次加一,直到检索到\0
}
int main(){
	char arr[] = { "bhkasbf" };
	char* temp = &arr;				//字符型指针,并将arr数组的地址赋给这个指针
	printf("%d\n", strlen(temp));		//调用函数并进行整型输出
	system("pause");
	return 0;
}

函数简单,多看看就行,不做过多的解释.

strcpy函数

合法性校验是防止用户输入了一个不在范围内的值,直接结束,防止代码过长而耗费时间.
自定义一个函数,在合法性校验合格的时候进行1对1的传值就可以了.
如下面例题:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include <assert.h>
//====strcpy函数实例(复制)
char* strcpy(char * dest, const char *source){
	char * ret = dest;
	assert(dest != NULL);         //合法性校验,若为空,直接结束程序
	assert(source != NULL);
	while ((*dest++ = *source++)){		//一一赋给
		;
	}
	return ret;
}
int main(){
	char arr1[] = "abcd";			//注意在赋值字符串的时候在""和{}二选一!!!
	char arr2[5] = { '\0' };			//注意,进行将字符串拷贝的时候,首先要赋予被拷贝的字符串足够大的空间
	char* temp1 = arr1;				//否则字符无法赋进去,会出现终断问题
	char* temp2 = arr2;
	printf("%s\n", temp1);
	printf("%s\n", strcpy(temp2, temp1));	//显示拷贝完的值
	system("pause");
	return 0;
}

相对于简单,重在理解哈,多敲敲代码就可以.加油!

上一篇:excle导入 文件file上传ajxa请求


下一篇:图片上传: ajax-formdata-upload