Подскажите почему не компилируется данная программа? Сначала компилятор ругался на 
strcpy, потом заменил на 
strncpy, но все равно крашится. По идеи же 
strncpy вроде безопасная функция. В чем проблема и как ее пофиксить? Стоит ли использовать strcpy_s?
PS. MSVC
// #define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstring>
int main()
{
	const int SIZE = 20;
	const char name[SIZE] = "name";
	char * p_name = new char[SIZE];
	strncpy(p_name, name, SIZE - 1);
  // snprintf(p_name, SIZE, "%s", name);
	system("pause");
	return 0;
}