问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
char* pathname = "/usr/temp/";
char* filename = "abcde";
char* pathname_2 = (char*)malloc(strlen(pathname));
if (pathname_2 == NULL)
{
printf("Can't get memory for that many values.\n");
exit(EXIT_FAILURE);
}
int a = strlen(pathname_2); printf("strlen(pathname_2) = %d\n", a);
printf("pathname_2 = %s\n", pathname_2);
strncpy_s(pathname_2, strlen(pathname_2), pathname,strlen(pathname));
printf("pathname_2 = %s\n", pathname_2);
strcat_s(pathname_2, strlen(pathname_2) + strlen(filename) + 1, filename);
int b = strlen(pathname_2); printf("strlen(pathname_2) = %d\n", b);
printf("pathname_2 = %s\n", pathname_2);
free(pathname_2);
pathname_2 = NULL;
运行结果及报错内容