越界问题
char *strcpy(char *s,const char *t)
copy后,原t不变,新s的内容与原t相同
如果原t串长比原s串长,如何解决copy后的越界问题?
[解决办法]
可以这样:
int len = strlen(t);
char *s = (char*)malloc(len +1);
strcpy(s,t);//这样可以保证有足够的内存来存储,又不浪费。
或者用strncpy(s,t,n)//n为字符长度。
发布时间: 2012-03-26 15:46:55 作者: rapoo
越界问题
char *strcpy(char *s,const char *t)
copy后,原t不变,新s的内容与原t相同
如果原t串长比原s串长,如何解决copy后的越界问题?
[解决办法]
可以这样:
int len = strlen(t);
char *s = (char*)malloc(len +1);
strcpy(s,t);//这样可以保证有足够的内存来存储,又不浪费。
或者用strncpy(s,t,n)//n为字符长度。