我有一个101的缓冲区
char buffer[101]
Run Code Online (Sandbox Code Playgroud)
我正在尝试将地址复制到数组中
int i;
for(i=0;i<sizeof(buffer);i+=4)
*(long*)&buffer[i] = address
Run Code Online (Sandbox Code Playgroud)
其中地址类型为long.
但是当我运行它时,我遇到了堆栈粉碎检测.知道为什么吗?
除了对齐问题,
for(i=0;i<sizeof(buffer);i+=4)
*(long*)&buffer[i] = address
Run Code Online (Sandbox Code Playgroud)
当i == 100你写过分配的缓冲区时.你应该什么时候停止i > sizeof buffer - 4.
| 归档时间: |
|
| 查看次数: |
54 次 |
| 最近记录: |