自定义方法实现strcpy,strlen, strcat, strcmp函数,了解及实现原理
位置计算字符串长度
//strlen()函数,当遇到'\0'时,计算结束,'\0'不计入长度之内
//字符串的拷贝
//strcpy(字符串1,字符串2);
//把字符串2中从一个元素到一个'\0'(包括'\0')的字符串,拷贝到字符串1(CNG字符串1的第一个元素开始)
//注意:如果做拷贝,字符串1应该足够大,否则会越界
//字符串的拼接
//strcat(字符串1,字符串2)
//把字符串2从第一个元素到第一个'\0'(包括'\0')的字符串,拼接到字符串1的第一个'\0'(从'\0'开始)后面
//字符串的比较
//strcmp(字符串1, 字符串2)
//0:表示两个字符串相等
//用字符串1的每一个元素和字符串2对应的元素做比较(字符串1元素的ASICC值 - 对应字符串2元素的ASICC值),当比较的结果不为0时,结束,或者当两个字符串对应的元素都
//自定义实现计算字符串的长度
unsigned long myStrlen(char string[])
{
unsigned long length = 0;
while (string[length] != '\0') {
length++;
}
return length;
}
//自定义实现字符串的拷贝
void myStrcpy(char string1[], char string2[])
{
int i = 0;
while (string2[i] != '\0') {
string1[i] = string2[i];
i++;
}
string1[i] = '\0';
}
//自定义函数实现字符串的凭拼接
void myStrcat(char string1[], char string2[])
{
//找string1的'\0'位置
int i = 0;
while (string1[i] != '\0') {
i++;
}
//把string2加到string1后面
int j = 0;
while (string2[j] != '\0') {
string1[i++] = string2[j++];
}
//不要忘记在最后添加\0
string1[i] = '\0';
}
//自定义函数实现字符串的比较
int myStrcmp(char string1[], char string2[])
{
int i = 0;
while (string1[i] == string2[i] && string1[i] != '\0') {
i++;
}
return string1[i] - string2[i];
}
自定义方法实现strcpy,strlen, strcat, strcmp函数,了解及实现原理的更多相关文章
- strcpy,strlen, strcat, strcmp函数,strlen函数和sizeof的区别
//计算字符串实际长度 //strlen()函数:当遇到'\0'时,计算结束,'\0'不计入长度之内,如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到'\0 ...
- strcpy/strlen/strcat/strcmp面试总结
<strcpy拷贝越界问题> 一. 程序一 #include<stdio.h> #include<string.h> void main() { char s[]= ...
- strcpy/strlen/strcat/strcmp的实现
一.字符串拷贝strcpy 函数strcpy的原型是char* strcpy(char* des , const char* src),des 和 src 所指内存区域不可以重叠且 des 必须有足够 ...
- 面试题之strcpy/strlen/strcat/strcmp的实现
阿里的电面要我用C/C++实现一个字符串拷贝的函数,虽然以前写过 strcpy 的函数实现,但时间过去很久了,再加上有点紧张,突然就措手不及了.最后写是写出来了,但没考虑异常的情况,面试官好像很不满意 ...
- strlen、strcmp、strcat、strcpy、memcpy基础函数的实现
最近实习+投简历+琐事弄得自己忙的不行不行的,终于今天可以开始记录一些东西了... 1.strlen函数的实现 int strlen(const char *str){ assert(str!=NUL ...
- C语言中strcpy,strcmp,strlen,strcat函数原型
//strcat(dest,src)把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0' char *strcat(char * strDest, const char ...
- strlen函数,strcat函数,strcpy函数,strncpy函数,strcmp函数
strcpy函数: char *strcpy(char *Dest , const char *Src) { assert((Dest != NULL) && (Src != NULL ...
- c/c++面试题(3)strcat/strcmp/strlen/strcpy的实现
1.编写一个函数实现strlen以及strcpy函数. strcpy函数. 后面的字符串拷贝到一个字符数组中,要求拷贝好的字符串在字符数组的首 地址,并且只拷贝到'\0'的位置.原型是 char* m ...
- 写出完整版的strcpy函数及其他如:strcat,strcmp,strstr的函数实现
(---牛客网中刷题---)写出完整版的strcpy函数 如果编写一个标准strcpy函数的总分值为10,下面给出几个不同得分的答案: 2分 1 2 3 4 void strcpy( char *st ...
随机推荐
- spring boot 测试类
import org.junit.Test;import org.junit.runner.RunWith;import org.slf4j.Logger;import org.slf4j.Logge ...
- 启动startUML的时候报错“"Exception EOleSysError in module StarUML.exe at 000AD559. "
win7操作系统在安装startuml的时候总是报错 出现了如下错误提示:"Exception EOleSysError in module StarUML.exe at 000AD559. ...
- python 学习备忘
list列表排序 def listdir(path): #返回一个排序后的目录list files=os.listdir(path) files.sort(key=lambda x:str(x[:-4 ...
- Imageen 图像切割 (JpegLosslessTrans)
procedure CutAFile(FileName: string; qry: TQuery);var i: Cardinal; FromStream, ToStream: TMemorySt ...
- one by one 项目 part 4
出现异常”The last packet sent successfully to the server was 0 milliseconds ago.“的大部分原因是由于数据库回收了连接,而系统的缓 ...
- js中定时器之一
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- python处理分隔大文件
4个.sql格式的文件,2G大小,直接插入mysql数据中,文件太大了,导入不进去. 太大的文件用python处理也很麻烦,处理不了,只能先分隔成小文件处理. 文件中数据格式:其中values里面的数 ...
- 华为手机不打印log解决方法
在拨号界面输入:*#*#2846579#*#* 进入后台设置---log设置---开启AP日志...开关即可
- SSL原理分析
SSL协议的工作流程: 服务器认证阶段: 1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接: 2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则 ...
- The Closest M Points
The Closest M Points http://acm.hdu.edu.cn/showproblem.php?pid=4347 参考博客:https://blog.csdn.net/acdre ...