strcat 函数的使用指南

原型        extern char *strcat(char *dest,char *src);
用法        #include <string.h>

功能        把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。返回指向dest的指针。

说明         src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。

举例

 char str4[] = "Hello world";
 char str5[] = "Hello World";
 cout << strcat(str4,str5) << endl;

会出错,因为str4没有足够的空间

下面是我自己的一个实现,不足之处,还望指正!!!

#include "stdafx.h"
#include <iostream>
#include <assert.h>

using namespace std;
//连接字符串
char* mystrcat(char* destStr,const char* srcStr)   //如果两个字符串是同一个字符串呢?
{
  assert(destStr != NULL && srcStr != NULL);

  char* temp=destStr;

  while(*destStr != '\0')
  {
    ++destStr;
  }
  while(*destStr++ = *srcStr++)
    NULL;
  return temp; //为了实现链式操作,将目的地址返回
}
int _tmain(int argc, _TCHAR* argv[])
{
  char str1[25] = "Hello world";
  char str2[] = "Hello World";
  cout << mystrcat(str1,str2) << endl;
  return 0;
}

我们再来看下源函数:

//=======================================================
#include "string.h"
char * __cdecl strcat ( char * dst, const char * src )
{
  char * cp = dst;     //保存dst指针
  while( *cp )
    cp++;         //查找dst字符串的末尾
  while( *cp++ = *src++ ) ; //拷贝src字符串到dst后面
  return( dst );      //返回dst字符串指针
}
//=============================================

举例:

//=================================================
strcat()接受两个字符串参数。将第二个字符串的一份拷贝添加到第一个字符串的结尾,从而使第一个字符串成为一个新的组合字符串,第二个字符串不改变。
#include<stdio.h>
#include<string.h>
int main(void)
{
  char str1[20];
  char str2[]="Hello word";

  gets(str1);   // 必须初始化
  strcat(str1,str2);
  puts(str2);
  puts(str1);

  getchar();
  return 0;
}

以上程序将string2字符串的拷贝到string1的结尾。第一个字符串成为一个新的组合字符串

注意: 在strcat()函数调用string1之前,string1必须初始化。

(0)

相关推荐

  • strcat函数与strncat函数的深入分析

    函数原型:extern char *strcat(char *dest,char *src) 参数说明:dest为一个目的字符串的指针,即被连接的字符串(在前),src为一个源字符串的指针(在后).所在库名:#include <string.h>函数功能:把src所指字符串添加到dest结尾处实现字符串的连接,连接过程覆盖dest结尾处的'/0'.返回说明:src和dest所指内存区域不可以重叠,并且dest必须有足够的空间来容纳src的字符串返回指向dest的指针.其它说明:暂时无.实例:

  • strcat函数实现简单示例

    代码功能是把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0' 复制代码 代码如下: char* strcat(char* strDest, const char* strSrc){   char *rem = strDest;   while(*strDest) strDest++; while(*strSrc!='\0'){*strDest++=*strSrc++;} *strDest='\0';   return rem;}

  • C语言中字符串常用函数strcat与strcpy的用法介绍

    strcpy原型声明:extern char *strcpy(char* dest, const char *src);头文件:#include <string.h>功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串.返回指向dest的指针.函数实现: 复制代码 代码如下: /********************** * C语言标准库函数strcpy的一种典型的工业级的

  • c++ 连接两个字符串实现代码 实现类似strcat功能

    复制代码 代码如下: #include "stdafx.h" #include<iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { char s1[60]="kingbaby"; char *s2="hello"; int i=0;int j=0; while(s1[i]!='\0')i++; while((s1[i]=s2[j])!='\0'){

  • c++实现strcat字符串连接库函数的方法详解

    原型 extern char *strcat(char *dest,char *src); 用法 #include <string.h> 功能 把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'. 说明 src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串. 返回指向dest的指针. 举例  char str4[] = "Hello world";  char str5[] = "Hello Wor

  • strcat 函数的使用指南

    原型       extern char *strcat(char *dest,char *src); 用法       #include <string.h> 功能       把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'.返回指向dest的指针. 说明         src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串. 举例 char str4[] = "Hello world"; char s

  • 浅谈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)strDest++; while(*strDest=*strSrc) { strDest++; strSrc

  • C语言 不使用strcat函数实现连接两个字符串功能代码

    字符串连接函数:  字符串连接就是将一个字符串连接到另一个字符串的末尾,使其组合成一个新的字符串,在字符串处理函数中,strcat  函数具有字符串连接功能.下面是用C语言实现不使用是strcat 函数实现连接两个字符串的功能. 源代码: #include<stdio.h> void constring(char s[],char t[],char q[]); //函数声明 int main(void) { char s[100]; char q[100]; char t[200]; prin

  • C语言 模拟实现strcpy与strcat函数详解

    目录 一.strcpy函数的介绍 1.函数的声明 2.函数功能与注意事项 3.函数的使用 二.模拟实现strcpy函数 1.模拟分析 2.模拟实现 三.strcat函数的介绍 1.函数的声明 2.函数功能与注意事项 3.函数的使用 四.模拟实现strcat函数 1.模拟分析 2.模拟实现 总结 这里有超详细的函数模实现分享,带大家一起来模拟实现这些函数,后续还将更新更多的函数模拟实现的文章. 一.strcpy函数的介绍 1.函数的声明 char* strcpy(char * destinatio

  • 彻底掌握C语言strcat函数的用法

    目录 1.函数介绍 1.1.函数接口 1.2.函数分析 1.3.函数的简单使用 2.库函数strcat源代码 库函数分析 3.模拟实现 strcat 函数 模拟实现 总结分析 写在后面 strcat函数详解如下 1.函数介绍 1.1.函数接口 char* __cdecl strcat (char * dst, const char * src); 这里是库函数里面的函数定义接口.这个函数是将字符串src连接到dst中去,就是连接字符串函数. 1.2.函数分析 分析: 1.dst 和 src 字符

  • Numpy np.array()函数使用方法指南

    目录 1.Numpy ndarray对象 2.创建numpy数组 总结 1.Numpy ndarray对象 numpy ndarray对象是一个n维数组对象,ndarray只能存储一系列相同元素. #一维数组 [1,2,3,4] #shape(4,) #二维数组 [[1,2,3,4]] #shape(1,4) [[1,2,3,4], [5,6,7,8]] #shape(2,4) #三维数组 [ [[1,2,3],[4,5,6]], [[7,8,9],[10,11,12]] ] #shape(2,

  • C语言string库strcpy、strcmp、strcat函数的使用

    目录 C语言string库strcpy.strcmp.strcat函数 C语言实现各类string函数 1.实现strcpy(字符串复制) 2.实现strcat 3.实现strstr 4.实现strchr 5.实现strcmp 6.实现memcpy 7.实现memmove 总结 C语言string库strcpy.strcmp.strcat函数 strcpy 即string copy 语法格式为strcpy(str1, str2), 作用是将str2赋值给str1 使用方法类似于 char str

  • Django中prefetch_related()函数优化实战指南

    目录 前言 使用方法 *lookups 参数 Prefetch对象 最佳实践 选择哪个函数 小结 总结 前言 对于多对多字段(ManyToManyField)和一对多字段, 可以使用prefetch_related()来进行优化 prefetch_related()和select_related()的设计目的很相似,都是为了减少SQL查询的数量,但是实现的方式不一样.后者是通过JOIN语句,在SQL查询内解决问题.但是对于多对多关系,使用SQL语句解决就显得有些不太明智,因为JOIN得到的表将会

  • PHP中trim()函数简单使用指南

    string trim ( string $str [, string $charlist ] ) - 去除字符串首尾处的空白字符(或者其他字符) trim()函数当第二个参数为空时,默认去掉空格.制表符.换行符.回车符.垂直制表符等,当加入第二个参数时 复制代码 代码如下: 1) trim('   \"string\"', '\"sg'); // 最终输出:\"strin 2) trim('   \"string\"   ', '\"

随机推荐