C++中strcpy函数实例 关于C++中strcpy函数例题讲解
笑着刻印在那一张泛黄 人气:0基本用法
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; }
加载全部内容