文档章节

C++使用函数strcpy出现bug: 错误 C4996 'strcpy': This function or variable

o
 osc_x4h57ch8
发布于 2018/04/24 14:11
字数 282
阅读 13
收藏 0
c++

精选30+云产品,助力企业轻松上云!>>>

C++中使用函数strcpy时出现问题:

 

解决方案:

在文件开头添加语句:

1 #pragma warning(disable:4996)

done!

 

 

剑指offer:

第一题:赋值运算符函数

 1 #include "stdafx.h"
 2 #include<iostream>
 3 #include<string>
 4 #pragma warning(disable:4996)   //debug
 5 
 6 
 7 using std::cout;
 8 using std::endl;
 9 
10 
11 
12 
13 class mystring
14 {
15 public:
16     mystring(char* data = nullptr);
17     mystring(const mystring & str);
18     ~mystring();
19     mystring & operator=(const mystring & s);
20     void print();
21 private:
22     char* m_data;
23 };
24 
25 
26 
27 mystring::mystring(char* data)
28 {
29     if (data == nullptr)
30     {
31         data = new char[1];
32         data[0] = '\0';
33 
34     }
35     else
36     {
37         int length = strlen(data);
38         m_data = new char[(length + 1)];
39         strcpy(m_data, data);
40 
41     }
42 }
43 
44 mystring::mystring(const  mystring & s)
45 {
46     int length = strlen(s.m_data);
47     m_data = new char[(length + 1)];
48     strcpy(m_data, s.m_data);
49 
50 }
51 
52 mystring::~mystring()
53 {
54     delete[]m_data;
55 }
56 
57 mystring & mystring::operator=(const mystring & s)
58 {
59     if (this == &s)
60         return *this;
61     
62     delete[]m_data;
63     m_data = nullptr;
64 
65     m_data = new char[strlen(s.m_data) + 1];
66     strcpy(m_data, s.m_data);
67 
68 }
69 
70 
71 void mystring::print()
72 {
73     cout<<("s%", m_data)<<endl;
74 
75 }
76 
77 
78 int main()
79 
80 {
81     mystring kk = "hello";
82     mystring nn;
83     nn = kk;
84     kk.print();
85     nn.print();
86     system("pause");
87     return 0;
88 }

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

【软件工具篇02】使用Anki克服遗忘曲线

使用Anki克服遗忘曲线 艾宾浩斯遗忘曲线 百度百科:遗忘曲线由德国心理学家艾宾浩斯研究发现,描述了人类大脑对新事物遗忘的规律。人体大脑对新事物遗忘的循序渐进的直观描述,人们可以从遗...

osc_wobxrheh
6分钟前
0
0
面向对象的理解

面向对象的三大特性 封装 继承 多态 面向对象的七大原则 单一职责原则:每一个类应该专注于做一件事情。即高内聚,低耦合。类的功能要单一,体积不要过于庞大。 开闭原则:一个对象对扩展开发...

osc_2wq8ft8d
7分钟前
0
0
Laravel Redis分布式锁实现源码分析

首先是锁的抽象类,定义了继承的类必须实现加锁、释放锁、返回锁拥有者的方法。 namespace Illuminate\Cache;abstract class Lock implements LockContract{ use InteractsWithTime;...

osc_2jegjdnw
9分钟前
0
0
【HDFS篇03】HDFS客户端操作 --- 开发环境准备

存储越困难,提取越容易 HDFS客户端操作---开发环境准备 步骤一:编译对应HadoopJar包,配置Hadoop变量 步骤二:创建Maven工程,导入pom依赖 <dependencies><dependency><groupId>ju...

osc_ds5ni1ur
10分钟前
0
0
老板,来瓶辣椒酱

最近网剧《隐秘的角落》非常的火爆,结局反转让人难以预料,但前两天发生了一场堪比史诗级大片的纠纷,纠纷的结局反转让人大跌眼镜,估计是神编剧都写不出来那样的剧本...而引发这场纠纷最核...

osc_1loi8uc4
12分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部