字符串处理函数strcpy和strcat

原创 2018年04月15日 22:20:48
字符串处理函数strcpy和strcat注意的问题:

测试代码优先:
#include <stdio.h>
#include <string.h>
int main(int argc ,char **argv  )
{
    char a[10] = "abc" ,b[10] = "012",c[10] = "xyz";
    
    strcpy( a+1,b+2 );
    printf("%s\n",a); 

    strcat( a,c+1 );

    printf("%s\n",a);
    printf("%s\n",b);
    printf("%s\n",c);

    strcat( a,c+1 );
    printf("%s\n",a);

    return 0;
}


代码下载:

https://gitee.com/yanyanhuan/C_git/blob/master/str-1.c

char *strcpy(char *dest, const char *src);

strcpy是字符串复制函数,把src复制到dest位置上

char *strcat(char *dest, const char *src);
strcat是字符串连接函数,把src追加到dest后面

我以前是这两个函数的,但是涉及到换成指针操作,便想错了。

现在看下运行:


strcpy函数把src(src的开始位置直到\0)复制到dest的位置上,并且把\0也复制上去
于是在字符串结尾也是以\0结束的。

strcat函数把src追加的dest后面。开始有疑惑的地方是dest是以\0结尾了,如果追加不就是两个\0,遇到\0便结束吗?
但是并不是这样strcat函数自动把dest的\0消去了,而覆盖在原来的位置。(其实想想如果不去掉\0那这个函数便没有实际价值了)。





strlen、strcpy、strcat等字符串处理函数的实现

最近参加不少小公司的笔试,都是关于C++开发工程师的岗位,考察的题目比较基础。不少公司都考察了关于字符处理函数的实现,这些看起来很简单,其实需要注意的地方还是很多的。这里给出strlen、strcpy...
  • u011000290
  • u011000290
  • 2015-10-17 17:10:20
  • 797

C字符串函数strcmp\strcpy\strcat\memcpy

1.strcmpint strcmp(const char* str1, const char*str2){ assert(str1 != NULL&&str2 != NULL); w...
  • gao1440156051
  • gao1440156051
  • 2016-05-25 11:00:11
  • 440

字符串处理函数(strlen, strcmp, strcat, strcpy)

strlen(s) 返回s的长度,不包括字符串结束符null strcmp(s1, s2) 比较两个字符串是否相等,相同返回0 strcat(s1, s2) 将字符串s2连接到s1后 st...
  • xuchenhuics
  • xuchenhuics
  • 2015-09-08 19:47:54
  • 364

读书笔记:自定义函数实现字符串处理函数----strlen、strcmp、strcat、strcpy

一、strlen函数。 int strlen(const char* str){ assert(str!=NULL); int len = 0; while((*str++)...
  • Rainloving
  • Rainloving
  • 2015-07-21 15:36:28
  • 766

C语言字符串常用操作函数-puts、gets、strcmp、strcpy、strcat、strlen

C语言字符串常用操作函数-puts、gets、strcmp、strcpy、strcat、strlen
  • yuner1029
  • yuner1029
  • 2015-11-01 22:13:20
  • 831

(C语言)自己写字符串操作函数(一)——strlen/strcpy/strcat/strcmp/strchr/strpbrk/strstr等相关函数

看到很多面试都会要求你写一些简单的字符串操作函数,这些函数看起来挺简单的,但是自己写的时候就会发现不少的问题。所以我自己把大部分的字符串操作函数都写了一遍,然后用了个测试程序来测试自己写的函数与库函数...
  • u011248694
  • u011248694
  • 2014-03-14 08:09:58
  • 2989

关于vs2013中直接使用strcpy、strcat字符串处理出错

最近在学习C++发现在vs2013中使用strcpy、和strcat字符串处理老是出现如下错误,尝试按照网上的方案(添加“_CRT_SECURE_NO_DEPRECATE之类的字符串)进行设置后没有什...
  • yangjiajie0110
  • yangjiajie0110
  • 2016-02-01 14:08:15
  • 2173

使用strcpy和strcat实现字符串的连接

最为简单的代码方式一 首先是实现字符串的连接然后实现字符串的拷贝 #include #include int main(void) { char s[10]="abc"; char t...
  • u011046042
  • u011046042
  • 2014-12-05 20:07:29
  • 3727

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

在linux C 编程中,我们经常遇到字符串的处理,最多的就是字符串的长度、拷贝字符串、比较字符串等;当然现在的C库中为我们提供了很多字符串处理函数。熟练的运用这些函数,可以减少编程工作量,这里介绍几...
  • zqixiao_09
  • zqixiao_09
  • 2015-12-10 17:41:43
  • 8522

c函数strcpy() ,strcat(),strcmp(), strlen(), strchr() ,strstr() 使用整理

1.strcpy() 功能:      字符串复制 头文件:   string.h 返回值类型:   char* C语言标准库函数strcpy,把从src地址开始且含有'\0'结...
  • bitlxlx
  • bitlxlx
  • 2016-07-26 10:33:47
  • 1481
收藏助手
不良信息举报
您举报文章:字符串处理函数strcpy和strcat
举报原因:
原因补充:

(最多只允许输入30个字)