Задать вопрос
@iayviyaviyvai

Как скопировать строку. Почему выдает ошибку?

Подскажите почему не компилируется данная программа? Сначала компилятор ругался на 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;
}
  • Вопрос задан
  • 181 просмотр
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Академия Codeby
    Курс «Анализ защищенности инфраструктуры на основе технологий Active Directory»
    4 месяца
    Далее
  • Академия Codeby
    Курс «Цифровая криминалистика и реагирование на инциденты ОС Linux (DFIR)»
    14 недель
    Далее
Пригласить эксперта
Ответы на вопрос 1
Стоит ли использовать strcpy_s?

Да
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы