关于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的内存长度。
原题
程序找错
#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(算上字符串结束字符)
实例补充:
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函数实例内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
VisualStudio 禁用移动文件到文件夹自动修改命名空间功能
这篇文章主要介绍了VisualStudio 禁用移动文件到文件夹自动修改命名空间功能,文章底部给大家介绍了解决安装VS2022时,出现未能安装包“Microsoft.VisualCpp.Redist.14,version=14.32.31332,chip”=x86,的问题及解决方法,需要的朋友可以参考下2022-09-09
C++ 构造函数和析构函数(Constructors & Destructors)详解
由于global object的诞生比程序进入更早点,所以global object的constructor执行的时间更早于程序的进入点,所谓的default constructor就是没有指定任何的参数的constructor,这篇文章主要介绍了C++ 构造函数和析构函数的相关知识,需要的朋友可以参考下2024-05-05


最新评论