VC6调试,当调试到下面一句话时
strcpy(date, “file”);
我选择了设置一个断点,结果是出来一个Find Source对话框,其上说:Please enter the Path for STRCAT.ASM
后来才发现,在定义date的时候,定义为:
char *date
并没有给date分配内存空间。
因此需要先分配空间 date = malloc(sizeof(char)*20);
然后才能strcpy
其实strcpy是一个不安全的函数(很显然他不会执行边界大小,这样很容易造成dest长于src时溢出),最好用strncpy或者snprintf来代替,这里的n用被拷贝数组的长度来代替,更加安全。