带有 memcpy 的 dest 对象中的缓冲区溢出的编译器警告/错误



而 使用 memCopy 将数据从 const 字符串复制到数组(-> 它是结构的成员(,编译器在 dest 对象中为缓冲区溢出抛出错误

感谢您的学习。

#define LEN 9
typedef struct buff_ {
....
..
char bowl[LEN];
}buff;
buff *dest= NULL;
dest= malloc......();// This is allocated properly
'
'
'
memcpy(dest->bowl,"y",LEN); //compiler throwing error here:buffer overflow

不应该有任何错误,因为我正在将字符串复制到 LEN 大于 src 的缓冲区(dest(。

尝试使用,这将限制为 LEN 或字符串的实际长度,以较小者为准:

strncpy(dest->bowl,"y",LEN);

相关内容

  • 没有找到相关文章

最新更新