c++strcpy函数头文件_c++ strcpy函数

c++strcpy函数头文件_c++ strcpy函数在c++中strcpy()函数不安全,代替其strcpy_s()函数的用法(C4996我是在Visual Studio2019中发现的错误,大家注意一下软件,我发现的错误解决方案是否是适合你的?在c++strcpy()函数不能用,因 strcpy()函数运行不安全

在c++中strcpy()函数不安全,代替其strcpy_s()函数的用法(C4996   我是在Visual Studio2019中发现的错误,大家注意一下软件,我发现的错误解决方案是否是适合你的?   在c++strcpy()函数不能用,因 strcpy()函数运行不安全,并且具有更安全的函数代替。而代替strcpy()的函数是strcpy_s(),接下来介绍strcpy_s()具体用法。   首先要包含头文件<cstring>,strcpy_s()函数被包含在此头文件中,此函数不在std名字空间中,记得不要使用语句:using namespace std;。   接着来介绍该函数参数,该函数参数有两种形式,一种为三个参数的strcpy_s(char* a(把复制的内容复制到此指针), int b(复制长度), char const* c(被复制指针));一种为两个参数的strcpy_s(char* a(把复制的内容复制到此指针),char const* c(被复制指针),具体介绍如下   一、两个参数的   #include <iostream>   #include <cstring>   int main()   {   char p[10];   std::cin >> p;   char p1[10];   strcpy_s(p1, p);//数组的数组名是一个常量指针   std::cout << “p1 = ” << p1 ;   return 0;   }   运行结果   123//输入的值   p1 = 123   二、三个参数的   #include <iostream>   #include <cstring>   int main()   {   char p[10];   std::cin >> p;   char p1[10];   strcpy_s(p1, 10,p );//10的位置也可以换成strlen(p)+1   std::cout << “p1= ” << p1 ;   return 0;   }   运行结果   123//输入的值   p1= 123   注意 1 strlen(p)返回的值为字符串的长度,但是不包括字符串末尾的空字符,所以+1。   注意2 在运用两个参数的strcpy_s()是可能会出错,如   #include <iostream>   #include <cstring>   int main()   {   const char *p=””;   char *p1=new char[10];   strcpy_s(p1, p);   std::cout << “p1 = ” << p1;   delete[]p1;   return 0;   }   运行出错:   1没有与参数列表匹配的 重载函数”strcpy_s”实例;   2.”strcpy_s”:函数不接受2个参数。   原因:不能保证缓冲区大小   解决方法   方法1、   #include <iostream>   #include <cstring>   int main()   {   const char *p=””;   char p1[10];//将char *p1更改成 char p1[10]   strcpy_s(p1, p);   std::cout << “p1 = ” << p1;   return 0;   }   运行结果   p1=   方法2   #include <iostream>   #include <cstring>   int main()   {   const char* p = “”;   char *p1=new char [10];   strcpy_s(p1,10, p);//使用三个参数的strcpy_s()函数   std::cout << “p1 = ” << p1;   delete[] p1;   return 0;   }   运行结果   p1=   如有错误,请指出。   如有侵权,请联系删除。

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/44760.html

(0)
上一篇 2024年 9月 5日 下午10:10
下一篇 2024年 9月 5日 下午10:14

相关推荐

关注微信