社区
C语言
帖子详情
strcpy有什么潜在风险?
jyecnu
2009-12-22 04:23:03
请教各位高手,进行strcpy操作时,有什么潜在风险?谢谢
...全文
677
17
打赏
收藏
strcpy有什么潜在风险?
请教各位高手,进行strcpy操作时,有什么潜在风险?谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
winner8080
2010-07-09
打赏
举报
回复
学习了.
YIDAY
2010-03-31
打赏
举报
回复
谢谢, 学习
lbjfeng
2009-12-23
打赏
举报
回复
555555555555555555555
没有人说一下哈·~~
Totoro_zwj
2009-12-22
打赏
举报
回复
ding
lbjfeng
2009-12-22
打赏
举报
回复
拷贝自身,又会出现什么问题那?
不知道,请赐教一下啊,呵呵
pur_e
2009-12-22
打赏
举报
回复
从标准来说,strcpy、memcpy都是不需要处理重叠的,一般的文档中都写明了重叠情况下的结果是未定义的。
candeabc123
2009-12-22
打赏
举报
回复
[Quote=引用 11 楼 matrixcl 的回复:]
引用 1 楼 pur_e 的回复:
1、内存不够
2、没有结束符
3、拷贝自身
支持,前两个还容易避免,第三个不小心的话,出现问题很难查的
[/Quote]
第三个不明白 高手赐教
matrixcl
2009-12-22
打赏
举报
回复
[Quote=引用 1 楼 pur_e 的回复:]
1、内存不够
2、没有结束符
3、拷贝自身
[/Quote]
支持,前两个还容易避免,第三个不小心的话,出现问题很难查的
ForestDB
2009-12-22
打赏
举报
回复
对C来说一个不小心都是风险。
赵4老师
2009-12-22
打赏
举报
回复
VC6调试时按Alt+8,TC或BC用TD调试,打开汇编窗口看每句C对应的汇编不就啥都明白了吗。
howlet2
2009-12-22
打赏
举报
回复
最大的风险就是在不十分熟悉它的情况下使用它
Flyh7t
2009-12-22
打赏
举报
回复
安全性上有个 溢出 也是属于内存不够
selooloo
2009-12-22
打赏
举报
回复
比如strcpy(x,y),风险就是字符串y比x大的话,就越界了;但strcpy并不做这方面的检查。
建议使用strncpy 功能一样,但更安全
do_fork
2009-12-22
打赏
举报
回复
strcpy本身没有什么风险,
风险来源于传递进去的两个参数,
一般就是考虑两种情况:
1. 地址非法访问
2. \0不表示结束,而是作为一个普通字符
z569362161
2009-12-22
打赏
举报
回复
strcpy本身没风险,
只有用时的错误.
1、内存不够
2、没有结束符
3、拷贝自身
这些都是应该注意的.
pur_e
2009-12-22
打赏
举报
回复
[Quote=引用 1 楼 pur_e 的回复:]
1、内存不够
[/Quote]
指的是变量空间不够
stormyberg_qinzhi
2009-12-22
打赏
举报
回复
遇到\0就结束,只能拷贝字符串,如果流媒体,就会拷贝不完整,还是用memcpy好用。
pur_e
2009-12-22
打赏
举报
回复
1、内存不够
2、没有结束符
3、拷贝自身
strcpy
函数
对于初学者来说,它是理解`
strcpy
`功能和
潜在
风险
的一个很好的起点。然而,为了进一步提高代码的健壮性和安全性,开发人员还应考虑使用现代C++中的更安全的字符串复制方法,如`std::copy`算法结合`std::vector`或`...
strcpy
和strncpy区别
然而,这同时也带来了
潜在
的
风险
:如果`dest`的长度不足以容纳完整的`src`字符串,那么`
strcpy
`操作会导致缓冲区溢出,这是C语言中常见的安全问题之一。 ### strncpy函数详解 与`
strcpy
`不同,`strncpy`函数提供了...
strcpy
原型
4. **使用安全替代**: 在现代 C/C++ 编程中,建议使用更安全的替代函数如 `strncpy` 或者 C++ 中的 `std::string` 类来避免
潜在
的安全
风险
。 #### 五、总结 `
strcpy
` 函数是 C 语言中用于字符串复制的一个基础且...
strcpy
的详细简绍
总的来说,理解和正确使用`
strcpy
`是C和C++编程的基础,同时要注意其
潜在
的安全
风险
和优化机会。在实际编程中,应考虑使用更安全的替代品,如`strncpy`(尽管它也有其自身的局限),或者在C++中使用`std::string`类...
101.
strcpy
.pdf
在使用
strcpy
函数时,有以下几个注意事项需要遵守: 1. 源字符串必须以结束符'\0'结尾,这是判断字符串结束的标志。 2. 源字符串中的所有字符,包括结束符'\0',都会被拷贝到目标空间。 3. 目标空间必须足够大,以...
C语言
70,026
社区成员
243,262
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章