C语言笔试题:几种字符串的操作函数

大部分公司的笔试题都会涉及到写一个字符串的操作函数,并且不调用库函数。
虽然这些函数经常都会用到,但是在笔试现场还真不一定能做对,要保证写出来还要写对还是需要看平时的积累的,毕竟笔试的时候没有机器给你调试,就只有看个人对代码的理解了,所以,多练习是没错的,毕竟机会难得。

1.strcpy() 字符串拷贝函数

//将src里面的字符串拷贝到dest
char *MyStrcpy(char *dest,const char *src){
	if(NULL == dest || NULL == src){
		return NULL;
	}
	char *ret = dest;
	while((*dest++ = *src++) != '\0');
	return ret;
}

注意:返回一个char*指针是为了实现链式表达式,如 :

int len = strlrn(MyStrcpy(dest,"hello world"));

2.strcmp()字符串比较函数
strcmp(s1,s2):

1、两个字符串从左到右按照 ACSII 码值大小比较,直到出现不同的字符或者遇到’\0’为止;
2、若出现不相同的字符,则以第一对不相同的字符的比较结果为准;
3、字符串1等于字符串2,函数值为0,字符串1大于字符串2,函数值为正整数,字符串1小于字符串2,函数值为负整数;

int MyStrcmp(const char *str1,const char *str2){
	int ret;
	while(!(ret = *str1-*str2)&&str2){
		str1++;
		str2++;
	}
	if(ret>0)return 1;
	if(ret<0)return -1;
	return ret;
}

3.strcat()字符串连接函数
strcat(str1,str2) 将字符串str2拼接在str1后面;

char *MyStrcat(char *dest, const char *src){
	char *strdest = dest;
	int i=0;
	while(*strdest++ != '\0'){
		i++;
	}
	while((dest[i++] = src[j++]) != '\0');
	return dest;
}

4.将字符串转化整型数

5.整型数转化为字符串

6.strstr()判断一个字符串里面是否包含另一个字符串

上一篇:与结束标志有关字符串函数


下一篇:strdup等c函数