C语言面试必须会的几个字符串操作函数原型strcpy,strcmp,strlen,strcat

C语言中strcpy,strcmp,strlen,strcat函数原型 今天去文思创新面试,考官问了我一个简单的实现,即:自己编写strcpm的实现,IBM曾经也考过写strcpy原型,这几个函数在面试的时候经常被考到,很具有代表性,突然被问起还真有点措手不及呢。现在记下供大家学习和以后温习:(下面的程序经本人通过)1、Strcat函数原型如下:char *strcat(char *strDest, const char *strScr) //将源字符串加cons 阅读详情
//////////////////////////////////////////////////
//1、Strcat函数原型如下:
char *strcat(char *strDest, const char *strScr) //将源字符串加const,表明其为输入参数
{
       char * address = strDest;             //该语句若放在assert之后,编译出错
       assert((strDest != NULL) && (strScr != NULL)); //对源地址和目的地址加非0断言
       while(*strDest)             //该循环可以用while(* ++strDest);替代
       {                        
              strDest++;               
       }                        
       while(*strDest++ = *strScr++) 
       {
              NULL;                 
       }                          
return address;               //为了实现链式操作,将目的地址返回
}
//以下是在VC6.0中调试的例子,函数名用strcata代替。
#include <stdio.h>
#include <assert.h>
char *strcata(char *strDest,const char *strScr)
{
       char * address = strDest;
       assert((strDest != NULL) && (strScr != NULL));
       while(*strDest)
       {
              strDest++;
       }
       while(*strDest++ = *strScr++)
       {
              NULL;
       }
       return address;
}

void main()
{
       char str1[100]={"i love"};
       char str2[50]={"China"};
       printf("%s\n",strcata(str1,str2));
}

//////////////////////////////////////////////////
//2、Strcpy函数原型如下:
char *strcpy(char *strDest, const char *strScr)
{
       char *address=strDest;
       assert((strDest != NULL) && (strScr != NULL));
       while(*strScr)                   //是while(*strScr != '\0')的简化形式
       {
              *strDest++ = *strScr++;
       }
       *strDest = '\0';                       //当strScr字符串长度小于原strDest字符串长度时,如果没有该语句,就会出错了。
       return address;
}
//以下是在VC6.0中调试的例子,函数名用strcpya代替。
#include <stdio.h>
#include <assert.h>
char *strcpya(char *strDest, const char *strScr)
{
       char *address = strDest;
       assert((strDest != NULL) && (strScr != NULL));
       while(*strScr)
       {
              *strDest++ = *strScr++;
       }
       *strDest = '\0';
       return address;
}

void main()
{
       char str1[100]={"i love"};
       char str2[50]={"China"};
       printf("%s\n",strcpya(str1,str2));
}

//////////////////////////////////////////////////
//3、Strcmp函数原型如下:
int strcmp (const char *str1,const char *str2)
{           
       int len = 0;
       assert((str1 != '\0') && (str2 != '\0'));
       while(*str1 && *str2 && (*str1 == *str2))
       {
              str1++;
              str2++;
       }
       return *str1-*str2;
}
//以下是在VC6.0中调试的例子,函数名用strcmpa代替。
#include <stdio.h>
#include <assert.h>
int strcmpa (const char *str1,const char *str2)
{           
       int len = 0;
       assert((str1 != '\0') && (str2 != '\0'));
       while(*str1 && *str2 && (*str1==*str2))
       {
              str1++;
              str2++;
       }
       return *str1-*str2;
}

void main()
{
       char str1[100] = {"i love"};
       char str2[50] = {"China "};
       printf("%d\n",strcmpa(str1,str2));
}

//////////////////////////////////////////////////
//4、Strlen函数原型如下:
int strlen(const char *str)
{
    int len = 0;
       assert(str != NULL);
       while(*str++)
       {
              len++;
       }
       return len;
}
//以下是在VC6.0中调试的例子,函数名用strlena代替。
#include <stdio.h>
#include <assert.h>
int strlena(const char *str)
{
    int len = 0;
       assert(str != NULL);
       while(*str++)
       {
              len++;
       }
       return len;
}
void main()
{
       char str1[100] = {"i love"};
       char str2[50] = {"China "};
       printf("%d\n",strlena(str1));
}

(C语言)自己写字符串操作函数(一)——strlen/strcpy/strcat/strcmp/strchr/strpbrk/strstr等相关函数 看到很多面试都会要求你写一些简单的字符串操作函数,这些函数看起来挺简单的,但是自己写的时候就会发现不少的问题。所以我自己把大部分的字符串操作函数都写了一遍,然后用了个测试程序来测试自己写的函数与库函数是否相同。包括字符串长度函数、不受限制的字符串函数、受限制的字符串函数、字符串查找基础函数。下面直接上代码: my_string.h 字符串操作函数头文件 #include #define NU 阅读详情

相关推荐

C语言中strcpy_strcmp_strlen_strcat函数原型

C语言中strcpy_strcmp_strlen_strcat函数原型

Strcat,strcpy,strcmp,Strlen函数原型

1、Strcat函数原型:extern char *strcat(char *dest,char *src);  --》#include 说明:将两个char类型链接。char d[20]="GoldenGlobal"; char *s="View"; strcat(d,s);结果放在d中printf("%s",d);输出 d 为 GoldenGlobalView (中间无空格)d和s所指内存

@角色扮演# 954

XR Interaction Toolkit实战:为HTC Vive Cosmos打造抓取、投掷与UI交互(Unity 2023教程)

本文详细介绍了如何使用Unity 2023和XR Interaction Toolkit为HTC Vive Cosmos开发抓取、投掷与UI交互系统。通过实战案例'VR投掷训练室',从基础配置到高级功能实现,涵盖物理抓取、精准投掷机制和VR UI交互设计,帮助开发者提升VR交互开发技能。

weixin_30562507的博客 256

linux C --深入理解字符串处理函数 strlen() strcpy() strcat() strcmp()

在linux C 编程中,我们经常遇到字符串的处理,最多的就是字符串的长度、拷贝字符串、比较字符串等;当然现在的C库中为我们提供了很多字符串处理函数。熟练的运用这些函数,可以减少编程工作量,这里介绍几个常用的字符串函数,并编写一些程序,如果没有这些库函数,我们将如何实现其功能; 1 求字符串长度函数 strlen 头文件:string.h 函数原型:size_t strlen(const c

知秋一叶 2万+

Python爬虫实战:如何优雅地处理BOSS直聘的反爬机制与Cookie失效问题

本文详细介绍了如何通过Python爬虫技术优雅应对BOSS直聘的反爬机制与Cookie失效问题。从多账号轮换、动态请求头生成到代理IP管理,提供了一套完整的解决方案,帮助开发者构建稳定高效的数据采集系统,有效提升爬虫成功率与数据质量。

weixin_30733003的博客 1563

NVIDIA显卡驱动历史版本全攻略:从官网隐藏入口到精准下载

本文详细介绍了如何获取NVIDIA显卡驱动历史版本的完整攻略,包括官网隐藏入口的揭秘、精准筛选驱动版本的技巧以及安装避坑指南。特别针对游戏玩家、创作者和老显卡用户提供了实用建议,帮助用户解决驱动兼容性问题,提升显卡性能。

m2n3o4p5的博客 3734

字符串比较函数strcmp()

strcmp是 string compare的缩写,即“字符串比较”。他的原型是: #include<string.h> int strcmp(const char *s1, const char *s2); 功能是比较 s1和s2所指向的字符数组中的字符串,返回一个int型值。s1和s2可以是字符数组名或者字符指针变量名。 ...

人生代码 ---- 公众号 3621

Proteus快速入门(最详细教程)

Proteus 是一款用于嵌入式单片机仿真的软件,用于在打PCB板之前对软件程序和硬件电路的正确性进行仿真验证。1.所以Proteus一般会和Keil软件进行联合仿真,在Proteus中绘制系统的电路图,在Keil软件中编写对应的程序后生成Hex文件。2.Proteus的仿真结果仅供参考,只能在一定程度上验证系统的可能性。实际实物系统还需要进行进一步的调试。以上即为本次分享的Proteus入门教程的全部内容,希望可以能够帮助到各位道友。

ediykk的博客 15万+

c语言string.h中常用的strlen、strcmp、strcpy、strcat、strtok、strstr函数用法

#include <stdio.h> #include <string.h> int main() { char str1[120],str2[]="i am jiajia"; strcpy(str1,str2); printf("%s\n",str1); printf("%s\n",str2); return 0; }

佳佳鸽的博客 1595

ubuntu18.04美化主题(完整版)

和网上的美化一样,但是我当初跟着博客美化的时候遇到一些问题,按博客的做法无法解决。 所以我自己也写一篇关于ubuntu18.04美化主题的博客。 第一步:安装主题工具:GNOME Tweaks sudo apt-get update sudo apt-get install gnome-tweak-tool 然后安装完成后我们打开Tweaks(截图如下): 第二步,修改窗口按钮位...

B丶atty的博客 7万+

Unity与IOS交互,调用IOS系统相机和相册

与IOS的交互,在步骤上要比android简单许多,不会产生因为系统版本,或者包名导致的许多问题。过程中最头疼的一个问题是IOS回调Unity,很简单的一个问题,搞了半天。

Hello Mingo 1万+

【C语言进阶】数组与字符串

C语言中,数组连续存储同类型数据,字符串为以'\0'结尾的字符数组。掌握其声明、初始化、访问及注意事项,对编程基础至关重要。

byte轻骑兵的技术小窝 1万+

23、OpenMP常见用例与标准循环级示例详解

本文详细介绍了OpenMP的三种典型用例:循环级OpenMP、高级OpenMP和MPI+OpenMP,适用于不同层次的并行需求。重点讲解了循环级OpenMP在向量加法、流三元组和模板计算中的应用示例,并探讨了首次触摸优化、线程绑定、NUMA架构影响等关键性能优化策略。通过实际代码演示和性能分析,帮助开发者快速掌握OpenMP的基础并行化方法,并为后续高性能优化提供指导。

fanta的博客 87

详谈C语言中strcpy,strncpy,strcat,strncat,strcmp,strncmp,strlen,memcpy,memset,strchr常用函数

我发现在开发过程中或者面试过程中经常会遇到这些函数(strcpy,strncpy,strcat,strncat,strcmp,strncmp,strlen,strchrmemset,memcpy),从过往经验来看大部分面试都是不能调用库函数,需要实现函数原型。可见这些函数的底层原理其重要性和作用就不多说了。经过对这些函数的不断研究和验证,下面就一一详谈这些函数的功能和特性以及函数实现。 1.strcpy函数 函数原型:char *strcpy(char *dest, const char *src); 函数

Mr.Kevin的博客 1507

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

c语言实strcpy和strcmp,浅谈C语言中strcpy,strcmp,strlen,strcat函数原型

实例如下://strcat(dest,src)把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'char *strcat(char * strDest, const char *strSrc){char *res=strDest;assert((strDest!=NULL)&&(strSrc!=NULL));while(*strDest)strDe...

weixin_39539733的博客 152

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

c语言 strcpy原型,浅谈C语言中strcpy,strcmp,strlen,strcat函数原型

实例如下://strcat(dest,src)把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'char *strcat(char * strDest, const char *strSrc){char *res=strDest;assert((strDest!=NULL)&&(strSrc!=NULL));while(*strDest)strDe...

weixin_34646820的博客 235

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

c语言中怎么用strlen例子,浅谈C语言中strcpy,strcmp,strlen,strcat函数原型

实例如下://strcat(dest,src)把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'char *strcat(char * strDest, const char *strSrc){char *res=strDest;assert((strDest!=NULL)&&(strSrc!=NULL));while(*strDest)strDe...

weixin_30396777的博客 264

C语言字符串函数模拟实现:从strlen、strcpy到strcat的底层原理与安全实践

在C语言编程中,字符串操作是基础且核心的技术环节。字符串本质是以空字符'\0'结尾的字符数组,其处理依赖于指针运算和内存管理。理解字符串函数的底层原理,不仅有助于掌握指针和内存布局,更能提升代码的健壮性和安全性。从技术价值看,深入字符串函数实现能帮助开发者规避缓冲区溢出等常见漏洞,编写出更可靠的系统级代码。在应用场景上,无论是嵌入式开发、操作系统编程还是高性能服务端应用,安全高效的字符串处理都至关重要。本文聚焦于strlen、strcpy和strcat这三个基础函数,通过模拟实现揭示其内部机制,并探讨str

weixin_34279579的博客 330

C语言字符串函数模拟实现:从strcpy到strcat的底层原理与安全实践

在C语言编程中,字符串处理是基础且核心的操作,涉及指针、内存管理和安全编程等关键概念。标准库提供的字符串函数如strcpy、strcmp等,其底层原理基于指针运算和内存操作,理解这些原理对于编写高效、健壮的代码至关重要。这些函数的技术价值在于它们封装了常见的字符串操作,但同时也引入了缓冲区溢出等安全风险,因此在工程实践中需要特别注意边界条件。应用场景广泛,从嵌入式系统到操作系统内核开发,都需要对字符串操作有深刻理解。本文通过模拟实现strlen、strcpy、strcmp和strcat等函数,深入探讨了指针

weixin_33802505的博客 352

strcat,strcpy,strcmp,strlen,memcpy函数原型

Strcat,strcpy,strcmp,Strlen,memcpy函数原型(2011-09-14 15:28:17)转载▼标签: 杂谈  这几个函数在面试的时候经常被考到,但没看过要准确又完美的写出来也不是易事,传说IBM曾经也考过写strcpy原型,说明这几个函数真的很有代表性,因此记于此处以便温习。 以下皆经本人调试过。 ===============================

Wilsonboliu的专栏 2213

C语言中strcpy,strcmp,strlen,strcat函数原型 .

C语言中strcpy,strcmp,strlen,strcat函数原型 今天去文思创新面试,考官问了我一个简单的实现,即:自己编写strcpm的实现,IBM曾经也考过写strcpy原型,这几个函数在面试的时候经常被考到,很具有代表性,突然被问起还真有点措手不及呢。现在记下供大家学习和以后温习:(下面的程序经本人通过) 1、Strcat函数原型如下: char *strcat(char

tianmo2010的专栏 2201

深入理解《字符串》及其函数——C语言

C语言字符串 字符串函数 📌strlen 函数模拟 📌strcpy 函数模拟 📌strcat 函数模拟 📌strcmp 函数模拟 📌strncpy 📌strncat 📌strstr 函数模拟 📌strtok 📌streeor 📌字符分类函数 内存函数 📌memcpy 函数模拟实现 📌memmove

一些七零八碎的知识点 3669

用C语言写出strcpy和strlen的函数的原型

<br />今天去文思创新面试,考官问了我一个简单的实现,即:自己编写strcpm的实现,IBM曾经也考过写strcpy原型,这几个函数在面试的时候经常被考到,很具有代表性,突然被问起还真有点措手不及呢。现在记下供大家学习和以后温习:(下面的程序经本人通过)<br />1、Strcat函数原型如下:<br />char *strcat(char *strDest, const char *strScr) //将源字符串加const,表明其为输入参数<br />{<br />       char * add

持续前进 2044
上一篇: getmem函数的实现,笔试有改错的有要求直接写出来该函数的
下一篇: mr_raptor的博客 | 值得学习
wgembed
博客等级 码龄17年 25粉丝 129原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值