const char * str = "My second long string";
int sz = 12;
char *strcp2 = malloc(sz + 1);
strncpy(strcp2, str, sz);
//strcp2[sz] = '\0';
printf("str copy 10 simbols is %s\n", strcp2);
free(strcp2);
1) Если выполнять прогу без закомментированной строки,
то printf выводит :
- и дальше абракадабру
почему?
а если раскомментировать
strcp2[sz] = '\0';
то все нормально
почему глючит без явного присваивания '\0'?
так и должно быть или я что то делаю не правильно?
2)для переменной str нужно явно освобождать память?