服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - 关于C++中strcpy函数例题讲解

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

2021-09-03 15:00笑着刻印在那一张泛黄 C/C++

在本篇文章里小编给大家整理的是关于C++中strcpy函数例题讲解内容,需要的朋友们可以参考下。

基本用法

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

延伸 · 阅读

精彩推荐