首页 > 技术文章 > strcpy慎用

cplover 2013-10-16 13:27 原文

strcpy慎用
因为如果源字符串和目的字符串分配在连续的空间,而且空间大小仅仅是足够容纳最初的字符串,那么strcpy在复制是只考虑源字符串的\0,不会考虑空间大小,那么就很容易使得访问目的地址越界,而且如果目的字符串存放的空间在源字符串的前面,而且比源字符串短,那么,复制将会导致源字符串前面的字符丢失
123\0123456789\0
目的   源字符串
拷贝后
123\0123456789\0
目的   源字符串
123456789\0789\0
目的   源
 
所以调用strcpy的字符串目的地和源都必须有足够的预留空间

推荐阅读