- 论坛徽章:
- 0
|
本帖最后由 zhangsuozhu 于 2010-07-22 15:45 编辑
回复 133# OwnWaterloo - #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int main()
- {
- char *p = malloc(3);
- if(!p) return -1;
- memset(p, 'a', 3);
- memcpy(p, "bb", 2);
- printf("%s\n",p);
- free(p);
- return 0;
- }
复制代码 结果是bba 并且很容易产生段错误. 他用的是memcpy 不是strncpy.- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int main()
- {
- char *p = malloc(4);
- if(!p) return -1;
- memset(p, 'a', 4);
- memcpy(p, "bb\x0", 3);
- printf("%s\n",p);
- free(p);
- return 0;
- }
复制代码 结果是bb
安心学技术, 说多错多。 |
|