关于C++中strcpy函数例题讲解

时间:2022-04-15 07:41:29

基本用法

1.函数原型 char *strcpy(char *dest,const char *src)

2.从src地址开始且含有null结束符的字符串复制到以dest地址开始的字符串中,并返回指向dest的指针。通俗的讲就是将 src字符数组复制到dest数组中,如果dest数组本身有数据,会把src里的数据全部复制到dest中,如果dest中有数据小于src地址长度的将会被覆盖,而大于src长度的将保留。

3.注意事项:

dest的地址长度要足够大,不然会产生溢出。Dest的内存长度要大于等于src的内存长度。

原题

程序找错

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include "stdlib.h"
#include "string.h"
#pragma warning( disable : 4996)
using namespace std;
 
void test1()
{
    char string[10];
    const char* str1 = "0123456789";
    strcpy(string, str1);
    printf(string);
}
 
int main()
{
    test1();
    system("pause");
  return 0;
}

错误

string开的空间为10,而str1的长度为11(算上字符串结束字符)

实例补充:

?
1
2
3
4
5
6
7
char * strcpy(char * strDest,const char * strSrc) {
  if ((NULL==strDest) || (NULL==strSrc))
    throw "Invalid argument(s)";
  char * strDestCopy = strDest;
  while ((*strDestCopy++ = *strSrc++) != '\0');
  return strDest;
}

到此这篇关于关于C++中strcpy函数例题讲解的文章就介绍到这了,更多相关C++中strcpy函数实例内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/wt-seu/p/12830022.html