|
下面的语句出自一段源程序,它的作用是拷贝某文件夹下所有的内容。打开父文件夹后,需要修改源路径名src,让他在原有的基础上增加子文件夹名fname->d_name,从而成为子文件夹的路径
[code:1]
path_in_src=(char*)malloc(sizeof(char)*(strlen(src)+strlen(fname->d_name)+3));
strcpy(path_in_src,src);
strcpy(path_in_src,"/\0");
strcpy(path_in_src,fname->d_name);
[/code:1]
我不明白的是,为什么要在分配动态内存的时候“+3”呢?
如果说是因为多了一个“/”和一个“\0”,+2不就行了吗干嘛+3啊???
这里面有什么讲究阿??
请教各位拉 |
|