搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 求教关于字符串连接的问题
标题:
求教关于字符串连接的问题
只看楼主
实际应用
等 级:
职业侠客
威 望:
2
帖 子:89
专家分:341
注 册:2015-5-30
第
21
楼
得分:0
str2 里的字符是向大处生长的,所以覆盖不了小地址的str3
如果改成 strcat(str3,str1); 就把str2 给覆盖了
2015-08-25 21:01
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
22
楼
得分:0
不要探寻定义空间之外的东西,那些都是不可预料的,也不必知道。总之不要越界写数据就是了。
授人以渔,不授人以鱼。
2015-08-25 23:37
wmf2014
等 级:
贵宾
威 望:
216
帖 子:2039
专家分:11273
注 册:2014-12-6
第
23
楼
得分:0
回复 20楼 hanwang3
嗯,的确说反了。按定义的顺序是str1覆盖str3,str3覆盖str2,str2溢着溢着就会死机。
[
本帖最后由 wmf2014 于 2015-8-26 08:39 编辑
]
能编个毛线衣吗?
2015-08-26 08:36
小K001
等 级:
论坛游民
帖 子:8
专家分:22
注 册:2015-8-26
第
24
楼
得分:0
您好,这是一种典型的溢出风险。因为c在实现字符串时只需要首地址,然后向后检索字符串介结束标准'/0',结束。因为您的例子较为简单,若在大一点的程序中,超出范围的内存单元有被重写的风险,这样导致超出的那一部分乱码。溢出对于安全也是愿意重大,此处便不细表。
2015-08-26 08:42
24
3/3页
1
2
3
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-456731-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.029300 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved